{
  "openapi": "3.2.0",
  "info": {
    "title": "Ahrefs 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": "Site Explorer",
      "description": "Fetch data from Site Explorer reports"
    },
    {
      "name": "Keywords Explorer",
      "description": "Fetch data from Keywords Explorer reports"
    },
    {
      "name": "Site Audit",
      "description": "Site audit."
    },
    {
      "name": "Rank Tracker",
      "description": "Rank tracker."
    },
    {
      "name": "SERP Overview",
      "description": "Fetch data from SERP Overview report"
    },
    {
      "name": "Batch Analysis",
      "description": "Batch analysis."
    },
    {
      "name": "Subscription Information",
      "description": "Subscription information."
    },
    {
      "name": "Management",
      "description": "Project management."
    },
    {
      "name": "Brand Radar",
      "description": "Brand radar."
    },
    {
      "name": "Web Analytics",
      "description": "Web_analytics."
    },
    {
      "name": "GSC Insights",
      "description": "Fetch data from GSC Insights reports"
    },
    {
      "name": "Social Media",
      "description": "Social Media Management."
    },
    {
      "name": "Public",
      "description": "Free endpoints that don't require an Ahrefs subscription, or require a free/public APIv3 key"
    }
  ],
  "paths": {
    "/site-explorer/domain-rating": {
      "get": {
        "tags": [
          "Site Explorer"
        ],
        "summary": "Domain rating",
        "operationId": "site-explorer.domain-rating",
        "parameters": [
          {
            "description": "The target of the search: a domain or a URL.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "url"
            },
            "name": "target",
            "in": "query"
          },
          {
            "description": "A date to report metrics on in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-explorer.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.domain-rating"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.domain-rating"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-explorer.error_500"
          }
        }
      }
    },
    "/site-explorer/backlinks-stats": {
      "get": {
        "tags": [
          "Site Explorer"
        ],
        "summary": "Backlinks stats",
        "operationId": "site-explorer.backlinks-stats",
        "parameters": [
          {
            "description": "The protocol of your target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "both",
                "http",
                "https"
              ],
              "default": "both"
            },
            "name": "protocol",
            "in": "query"
          },
          {
            "description": "The target of the search: a domain or a URL.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "url"
            },
            "name": "target",
            "in": "query"
          },
          {
            "description": "The scope of the search based on the target you entered.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "exact",
                "prefix",
                "domain",
                "subdomains"
              ],
              "default": "subdomains"
            },
            "name": "mode",
            "in": "query"
          },
          {
            "description": "A date to report metrics on in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-explorer.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.backlinks-stats"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.backlinks-stats"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-explorer.error_500"
          }
        }
      }
    },
    "/site-explorer/outlinks-stats": {
      "get": {
        "tags": [
          "Site Explorer"
        ],
        "summary": "Outlinks stats",
        "description": "**This is a beta version of the endpoint. The data it returns may not always exactly match the corresponding values in Ahrefs UI. Data accuracy will be improved soon.**",
        "operationId": "site-explorer.outlinks-stats",
        "parameters": [
          {
            "description": "The protocol of your target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "both",
                "http",
                "https"
              ],
              "default": "both"
            },
            "name": "protocol",
            "in": "query"
          },
          {
            "description": "The scope of the search based on the target you entered.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "exact",
                "prefix",
                "domain",
                "subdomains"
              ],
              "default": "subdomains"
            },
            "name": "mode",
            "in": "query"
          },
          {
            "description": "The target of the search: a domain or a URL.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "url"
            },
            "name": "target",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-explorer.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.outlinks-stats"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.outlinks-stats"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-explorer.error_500"
          }
        }
      }
    },
    "/site-explorer/metrics": {
      "get": {
        "tags": [
          "Site Explorer"
        ],
        "summary": "Metrics",
        "operationId": "site-explorer.metrics",
        "parameters": [
          {
            "description": "The search volume calculation mode: monthly or average. It affects volume, traffic, and traffic value.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "monthly",
                "average"
              ],
              "default": "monthly"
            },
            "name": "volume_mode",
            "in": "query"
          },
          {
            "description": "A two-letter country code (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"
              ]
            },
            "name": "country",
            "in": "query"
          },
          {
            "description": "The protocol of your target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "both",
                "http",
                "https"
              ],
              "default": "both"
            },
            "name": "protocol",
            "in": "query"
          },
          {
            "description": "The target of the search: a domain or a URL.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "url"
            },
            "name": "target",
            "in": "query"
          },
          {
            "description": "The scope of the search based on the target you entered.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "exact",
                "prefix",
                "domain",
                "subdomains"
              ],
              "default": "subdomains"
            },
            "name": "mode",
            "in": "query"
          },
          {
            "description": "A date to report metrics on in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-explorer.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.metrics"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.metrics"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-explorer.error_500"
          }
        }
      }
    },
    "/site-explorer/ai-responses-count": {
      "get": {
        "tags": [
          "Site Explorer"
        ],
        "summary": "AI Responses Count",
        "operationId": "site-explorer.ai-responses-count",
        "parameters": [
          {
            "description": "A comma-separated list of fields to return.\n\n- `chatgpt` (15 units)\n- `copilot` (15 units)\n- `gemini` (15 units)\n- `google_ai_mode` (15 units)\n- `google_ai_overviews` (15 units)\n- `google_ai_overviews_keywords` (15 units)\n- `grok` (15 units)\n- `perplexity` (15 units)",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "select",
            "in": "query"
          },
          {
            "description": "A two-letter country code (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"
              ]
            },
            "name": "country",
            "in": "query"
          },
          {
            "description": "The protocol of your target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "both",
                "http",
                "https"
              ],
              "default": "both"
            },
            "name": "protocol",
            "in": "query"
          },
          {
            "description": "The target of the search: a domain or a URL.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "url"
            },
            "name": "target",
            "in": "query"
          },
          {
            "description": "The scope of the search based on the target you entered.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "exact",
                "prefix",
                "domain",
                "subdomains"
              ],
              "default": "subdomains"
            },
            "name": "mode",
            "in": "query"
          },
          {
            "description": "The date to report on in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-explorer.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.ai-responses-count"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.ai-responses-count"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-explorer.error_500"
          }
        }
      }
    },
    "/site-explorer/refdomains-history": {
      "get": {
        "tags": [
          "Site Explorer"
        ],
        "summary": "Refdomains history",
        "operationId": "site-explorer.refdomains-history",
        "parameters": [
          {
            "description": "The time interval used to group historical data.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "daily",
                "weekly",
                "monthly"
              ],
              "default": "monthly"
            },
            "name": "history_grouping",
            "in": "query"
          },
          {
            "description": "The end date of the historical period in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_to",
            "in": "query"
          },
          {
            "description": "The start date of the historical period in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_from",
            "in": "query"
          },
          {
            "description": "The protocol of your target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "both",
                "http",
                "https"
              ],
              "default": "both"
            },
            "name": "protocol",
            "in": "query"
          },
          {
            "description": "The target of the search: a domain or a URL.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "url"
            },
            "name": "target",
            "in": "query"
          },
          {
            "description": "The scope of the search based on the target you entered.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "exact",
                "prefix",
                "domain",
                "subdomains"
              ],
              "default": "subdomains"
            },
            "name": "mode",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-explorer.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.refdomains-history"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.refdomains-history"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-explorer.error_500"
          }
        }
      }
    },
    "/site-explorer/domain-rating-history": {
      "get": {
        "tags": [
          "Site Explorer"
        ],
        "summary": "Domain Rating history",
        "operationId": "site-explorer.domain-rating-history",
        "parameters": [
          {
            "description": "The time interval used to group historical data.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "daily",
                "weekly",
                "monthly"
              ],
              "default": "monthly"
            },
            "name": "history_grouping",
            "in": "query"
          },
          {
            "description": "The end date of the historical period in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_to",
            "in": "query"
          },
          {
            "description": "The start date of the historical period in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_from",
            "in": "query"
          },
          {
            "description": "The target of the search: a domain or a URL.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "url"
            },
            "name": "target",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-explorer.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.domain-rating-history"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.domain-rating-history"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-explorer.error_500"
          }
        }
      }
    },
    "/site-explorer/url-rating-history": {
      "get": {
        "tags": [
          "Site Explorer"
        ],
        "summary": "URL Rating history",
        "operationId": "site-explorer.url-rating-history",
        "parameters": [
          {
            "description": "The time interval used to group historical data.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "daily",
                "weekly",
                "monthly"
              ],
              "default": "monthly"
            },
            "name": "history_grouping",
            "in": "query"
          },
          {
            "description": "The end date of the historical period in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_to",
            "in": "query"
          },
          {
            "description": "The start date of the historical period in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_from",
            "in": "query"
          },
          {
            "description": "The target of the search: a domain or a URL.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "url"
            },
            "name": "target",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-explorer.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.url-rating-history"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.url-rating-history"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-explorer.error_500"
          }
        }
      }
    },
    "/site-explorer/pages-history": {
      "get": {
        "tags": [
          "Site Explorer"
        ],
        "summary": "Pages history",
        "operationId": "site-explorer.pages-history",
        "parameters": [
          {
            "description": "Filter pages by their ranking position. `top10` returns only pages ranking in the top 10, `top100` returns all pages ranking in the top 100.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "top10",
                "top100"
              ],
              "default": "top100"
            },
            "name": "page_positions",
            "in": "query"
          },
          {
            "description": "The time interval used to group historical data.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "daily",
                "weekly",
                "monthly"
              ],
              "default": "monthly"
            },
            "name": "history_grouping",
            "in": "query"
          },
          {
            "description": "The end date of the historical period in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_to",
            "in": "query"
          },
          {
            "description": "The start date of the historical period in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_from",
            "in": "query"
          },
          {
            "description": "A two-letter country code (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"
              ]
            },
            "name": "country",
            "in": "query"
          },
          {
            "description": "The protocol of your target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "both",
                "http",
                "https"
              ],
              "default": "both"
            },
            "name": "protocol",
            "in": "query"
          },
          {
            "description": "The target of the search: a domain or a URL.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "url"
            },
            "name": "target",
            "in": "query"
          },
          {
            "description": "The scope of the search based on the target you entered.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "exact",
                "prefix",
                "domain",
                "subdomains"
              ],
              "default": "subdomains"
            },
            "name": "mode",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-explorer.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.pages-history"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.pages-history"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-explorer.error_500"
          }
        }
      }
    },
    "/site-explorer/metrics-history": {
      "get": {
        "tags": [
          "Site Explorer"
        ],
        "summary": "Metrics history",
        "operationId": "site-explorer.metrics-history",
        "parameters": [
          {
            "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "default": "date,org_cost,org_traffic,paid_cost,paid_traffic"
            },
            "name": "select",
            "in": "query"
          },
          {
            "description": "The search volume calculation mode: monthly or average. It affects volume, traffic, and traffic value.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "monthly",
                "average"
              ],
              "default": "monthly"
            },
            "name": "volume_mode",
            "in": "query"
          },
          {
            "description": "The time interval used to group historical data.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "daily",
                "weekly",
                "monthly"
              ],
              "default": "monthly"
            },
            "name": "history_grouping",
            "in": "query"
          },
          {
            "description": "The end date of the historical period in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_to",
            "in": "query"
          },
          {
            "description": "The start date of the historical period in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_from",
            "in": "query"
          },
          {
            "description": "A two-letter country code (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"
              ]
            },
            "name": "country",
            "in": "query"
          },
          {
            "description": "The protocol of your target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "both",
                "http",
                "https"
              ],
              "default": "both"
            },
            "name": "protocol",
            "in": "query"
          },
          {
            "description": "The target of the search: a domain or a URL.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "url"
            },
            "name": "target",
            "in": "query"
          },
          {
            "description": "The scope of the search based on the target you entered.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "exact",
                "prefix",
                "domain",
                "subdomains"
              ],
              "default": "subdomains"
            },
            "name": "mode",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-explorer.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.metrics-history"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.metrics-history"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-explorer.error_500"
          }
        }
      }
    },
    "/site-explorer/keywords-history": {
      "get": {
        "tags": [
          "Site Explorer"
        ],
        "summary": "Keywords history",
        "operationId": "site-explorer.keywords-history",
        "parameters": [
          {
            "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "default": "date,top3,top4_10,top11_plus"
            },
            "name": "select",
            "in": "query"
          },
          {
            "description": "The time interval used to group historical data.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "daily",
                "weekly",
                "monthly"
              ],
              "default": "monthly"
            },
            "name": "history_grouping",
            "in": "query"
          },
          {
            "description": "The end date of the historical period in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_to",
            "in": "query"
          },
          {
            "description": "The start date of the historical period in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_from",
            "in": "query"
          },
          {
            "description": "A two-letter country code (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"
              ]
            },
            "name": "country",
            "in": "query"
          },
          {
            "description": "The protocol of your target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "both",
                "http",
                "https"
              ],
              "default": "both"
            },
            "name": "protocol",
            "in": "query"
          },
          {
            "description": "The target of the search: a domain or a URL.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "url"
            },
            "name": "target",
            "in": "query"
          },
          {
            "description": "The scope of the search based on the target you entered.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "exact",
                "prefix",
                "domain",
                "subdomains"
              ],
              "default": "subdomains"
            },
            "name": "mode",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-explorer.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.keywords-history"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.keywords-history"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-explorer.error_500"
          }
        }
      }
    },
    "/site-explorer/metrics-by-country": {
      "get": {
        "tags": [
          "Site Explorer"
        ],
        "summary": "Metrics by country",
        "operationId": "site-explorer.metrics-by-country",
        "parameters": [
          {
            "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "default": "paid_cost,paid_keywords,org_cost,paid_pages,org_keywords_1_3,org_keywords,org_traffic,paid_traffic,country"
            },
            "name": "select",
            "in": "query"
          },
          {
            "description": "The search volume calculation mode: monthly or average. It affects volume, traffic, and traffic value.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "monthly",
                "average"
              ],
              "default": "monthly"
            },
            "name": "volume_mode",
            "in": "query"
          },
          {
            "description": "The protocol of your target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "both",
                "http",
                "https"
              ],
              "default": "both"
            },
            "name": "protocol",
            "in": "query"
          },
          {
            "description": "The target of the search: a domain or a URL.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "url"
            },
            "name": "target",
            "in": "query"
          },
          {
            "description": "The scope of the search based on the target you entered.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "exact",
                "prefix",
                "domain",
                "subdomains"
              ],
              "default": "subdomains"
            },
            "name": "mode",
            "in": "query"
          },
          {
            "description": "A date to report metrics on in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-explorer.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.metrics-by-country"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.metrics-by-country"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-explorer.error_500"
          }
        }
      }
    },
    "/site-explorer/pages-by-traffic": {
      "get": {
        "tags": [
          "Site Explorer"
        ],
        "summary": "Pages by traffic",
        "operationId": "site-explorer.pages-by-traffic",
        "parameters": [
          {
            "description": "The target of the search: a domain or a URL.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "url"
            },
            "name": "target",
            "in": "query"
          },
          {
            "description": "The protocol of your target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "both",
                "http",
                "https"
              ],
              "default": "both"
            },
            "name": "protocol",
            "in": "query"
          },
          {
            "description": "The scope of the target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "exact",
                "prefix",
                "domain",
                "subdomains"
              ],
              "default": "subdomains"
            },
            "name": "mode",
            "in": "query"
          },
          {
            "description": "The search volume calculation mode: monthly or average. It affects volume, traffic, and traffic value.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "monthly",
                "average"
              ],
              "default": "monthly"
            },
            "name": "volume_mode",
            "in": "query"
          },
          {
            "description": "A two-letter country code (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"
              ]
            },
            "name": "country",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-explorer.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.pages-by-traffic"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.pages-by-traffic"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-explorer.error_500"
          }
        }
      }
    },
    "/site-explorer/all-backlinks": {
      "get": {
        "tags": [
          "Site Explorer"
        ],
        "summary": "Backlinks",
        "operationId": "site-explorer.all-backlinks",
        "parameters": [
          {
            "description": "A manual timeout duration in seconds.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "timeout",
            "in": "query"
          },
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer",
              "default": 1000
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "A column to order results by. See the response schema for valid column identifiers, except for `link_group_count`, which is not supported in `order_by` for this endpoint.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "examples": [
                "field_a,field_b:asc,field_c:desc"
              ]
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the `select` parameter).\n\n**ahrefs_rank_source**: The strength of the referring domain's backlink profile compared to the other websites in our database, with rank #1 being the strongest.  \ntype: integer\n\n**ahrefs_rank_target**: The strength of the target domain's backlink profile compared to the other websites in our database, with rank #1 being the strongest.  \ntype: integer\n\n**alt**: The alt attribute of the link.  \ntype: string nullable\n\n**anchor**: The clickable words in a link that point to a URL.  \ntype: string\n\n**broken_redirect_new_target**: The new destination of a modified redirect.  \ntype: string nullable\n\n**broken_redirect_reason**: The reason the redirect was considered broken during the last crawl.  \ntype: string nullable  \nenum: `\"droppedmanual\"` `\"droppedtooold\"` `\"dropped\"` `\"codechanged\"` `\"nxdomain\"` `\"robotsdisallowed\"` `\"curlerror\"` `\"invalidtarget\"` `\"nomorecanonical\"` `\"isnowparked\"` `\"targetchanged\"`\n\n**broken_redirect_source**: The redirecting URL that was modified, causing the redirect to become broken.  \ntype: string nullable\n\n**class_c** (5 units): The number of unique class_c subnets linking to the referring page.  \ntype: integer\n\n**discovered_status**: The reason the link was discovered during the last crawl: the page was crawled for the first time, the link was added to the page, or the link re-appeared after being removed.  \ntype: string nullable  \nenum: `\"pagefound\"` `\"linkfound\"` `\"linkrestored\"`\n\n**domain_rating_source**: The strength of the referring domain's backlink profile compared to the others in our database on a 100-point scale.  \ntype: float\n\n**domain_rating_target**: The strength of the referring domain's backlink profile compared to the others in our database on a 100-point scale.  \ntype: float\n\n**drop_reason**: The reason we removed the link from our index.  \ntype: string nullable  \nenum: `\"manual\"` `\"noratingunused\"` `\"notop\"` `\"tooold\"` `\"oldunavailable\"` `\"rescursive\"` `\"duplicate\"` `\"nxdomain\"` `\"malformed\"` `\"blockedport\"` `\"disallowed\"` `\"unlinked\"` `\"lowvalue\"`\n\n**encoding**: The character set encoding of the referring page HTML.  \ntype: string\n\n**first_seen**: The date the referring page URL was first discovered.  \ntype: datetime\n\n**first_seen_link**: The date we first found a backlink to your target on a given referring page.  \ntype: datetime\n\n**http_code**: The return code from HTTP protocol returned during the referring page crawl.  \ntype: integer\n\n**http_crawl**: The link was discovered without executing javascript and rendering the page.  \ntype: boolean\n\n**ip_source**: The referring domain IP address.  \ntype: string nullable\n\n**is_alternate**: The link with the rel=“alternate” attribute.  \ntype: boolean\n\n**is_canonical**: The link with the rel=“canonical” attribute.  \ntype: boolean\n\n**is_content**: The link was found in the biggest piece of content on the page.  \ntype: boolean\n\n**is_dofollow**: The link has no special nofollow attribute.  \ntype: boolean\n\n**is_form**: The link was found in a form HTML tag.  \ntype: boolean\n\n**is_frame**: The link was found in an iframe HTML tag.  \ntype: boolean\n\n**is_homepage_link**: The link was found on the homepage of a referring website.  \ntype: boolean\n\n**is_image**: The link is a regular link that has an image inside their href attribute.  \ntype: boolean\n\n**is_lost**: The link currently does not exist anymore.  \ntype: boolean\n\n**is_new**: The link was discovered on the last crawl.  \ntype: boolean\n\n**is_nofollow**: The link or the referring page has the nofollow attribute set.  \ntype: boolean\n\n**is_non_html**: The link points to a URL with non-HTML content.  \ntype: boolean\n\n**is_redirect**: The link pointing to your target via a redirect.  \ntype: boolean\n\n**is_redirect_lost**: The redirected link currently does not exist anymore.  \ntype: boolean\n\n**is_root_source**: The referring domain name is a root domain name.  \ntype: boolean\n\n**is_root_target**: The target domain name is a root domain name.  \ntype: boolean\n\n**is_rss**: The link was found in an RSS feed.  \ntype: boolean\n\n**is_spam**: Indicates whether the backlink comes from a known spammy domain.  \ntype: boolean\n\n**is_sponsored**: The link has the Sponsored attribute set in the referring page HTML.  \ntype: boolean\n\n**is_text**: The link is a standard href hyperlink.  \ntype: boolean\n\n**is_ugc**: The link has the User Generated Content attribute set in the referring page HTML.  \ntype: boolean\n\n**js_crawl**: The link was discovered after executing javascript and rendering the page.  \ntype: boolean\n\n**languages**: The languages listed in the referring page metadata or detected by the crawler to appear in the HTML.  \ntype: array(string)\n\n**last_seen**: The date we discovered that the link was lost.  \ntype: datetime nullable\n\n**last_visited**: The date we last verified a live link to your target page.  \ntype: datetime\n\n**len_url_redirect**: The number of redirect chain URLs.  \ntype: integer\n\n**link_group_count**: The number of backlinks that were grouped together based on the aggregation parameter. This field cannot be used with aggregation 'all'.  \ntype: integer\n\n**link_type**: The kind of the backlink.  \ntype: string  \nenum: `\"redirect\"` `\"frame\"` `\"text\"` `\"form\"` `\"canonical\"` `\"alternate\"` `\"rss\"` `\"image\"`\n\n**linked_domains_source_domain**: The number of unique root domains linked from the referring domain.  \ntype: integer\n\n**linked_domains_source_page**: The number of unique root domains linked from the referring page.  \ntype: integer\n\n**linked_domains_target_domain**: The number of unique root domains linked from the target domain.  \ntype: integer\n\n**links_external**: The number of external links from the referring page.  \ntype: integer\n\n**links_internal**: The number of internal links from the referring page.  \ntype: integer\n\n**lost_reason**: The reason the link was lost during the last crawl.  \ntype: string nullable  \nenum: `\"removedfromhtml\"` `\"notcanonical\"` `\"noindex\"` `\"pageredirected\"` `\"pageerror\"` `\"lostredirect\"` `\"notfound\"`\n\n**name_source**: The complete referring domain name, including subdomains.  \ntype: string\n\n**name_target**: The complete target domain name, including subdomains.  \ntype: string\n\n**noindex**: The referring page has the noindex meta attribute.  \ntype: boolean\n\n**page_category_source**: Comma-separated list of AI-predicted hierarchical category paths for the referring page. Each value is a slash-prefixed path (e.g. /Business_and_Industrial/Advertising_and_Marketing/Marketing).  \ntype: string nullable\n\n**page_size**: The size in bytes of the referring page content.  \ntype: integer\n\n**page_type_source**: Comma-separated list of AI-predicted hierarchical page type paths for the referring page. Each value is a slash-prefixed path (e.g. /Article/How_to).  \ntype: string nullable\n\n**port_source**: The network port of the referring page URL.  \ntype: integer\n\n**port_target**: The network port of the target page URL.  \ntype: integer\n\n**positions**: The number of keywords that the referring page ranks for in the top 100 positions.  \ntype: integer\n\n**positions_source_domain**: The number of keywords that the referring domain ranks for in the top 100 positions.  \ntype: integer\n\n**powered_by**: Web technologies used to build and serve the referring page content.  \ntype: array(string)\n\n**redirect_code**: The HTTP status code of a referring page pointing to your target via a redirect.  \ntype: integer nullable\n\n**redirect_kind**: The HTTP status codes returned by the target redirecting URL or redirect chain.  \ntype: array(integer)\n\n**refdomains_source** (5 units): The number of unique referring domains linking to the referring page.  \ntype: integer\n\n**refdomains_source_domain** (5 units): The number of unique referring domains linking to the referring domain.  \ntype: integer\n\n**refdomains_target_domain** (5 units): The number of unique referring domains linking to the target domain.  \ntype: integer\n\n**root_name_source**: The root domain name of the referring domain, not including subdomains.  \ntype: string\n\n**root_name_target**: The root domain name of the target domain, not including subdomains.  \ntype: string\n\n**snippet_left**: The snippet of text appearing just before the link.  \ntype: string\n\n**snippet_right**: The snippet of text appearing just after the link.  \ntype: string\n\n**source_page_author**: The author of the referring page.  \ntype: string nullable\n\n**source_page_publish_date**: the date we identified the page was published  \ntype: date nullable\n\n**title**: The html title of the referring page.  \ntype: string\n\n**tld_class_source**: The top level domain class of the referring domain.  \ntype: string  \nenum: `\"gov\"` `\"edu\"` `\"normal\"`\n\n**tld_class_target**: The top level domain class of the target domain.  \ntype: string  \nenum: `\"gov\"` `\"edu\"` `\"normal\"`\n\n**traffic** (10 units): The referring page's estimated monthly organic traffic from search.  \ntype: integer\n\n**traffic_domain** (10 units): The referring domain's estimated monthly organic traffic from search.  \ntype: integer\n\n**url_from**: The URL of the page containing a link to your target.  \ntype: string\n\n**url_from_plain**: The referring page URL optimized for use as a filter.  \ntype: string\n\n**url_rating_source**: The strength of the referring page's backlink profile compared to the others in our database on a 100-point scale.  \ntype: float\n\n**url_redirect**: A redirect chain the target URL of the link points to.  \ntype: array(url)\n\n**url_redirect_with_target**: The target URL of the link with its redirect chain.  \ntype: array(string)\n\n**url_to**: The URL the backlink points to.  \ntype: string\n\n**url_to_plain**: The target page URL optimized for use as a filter.  \ntype: string",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "select",
            "in": "query"
          },
          {
            "description": "The protocol of your target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "both",
                "http",
                "https"
              ],
              "default": "both"
            },
            "name": "protocol",
            "in": "query"
          },
          {
            "description": "The target of the search: a domain or a URL.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "url"
            },
            "name": "target",
            "in": "query"
          },
          {
            "description": "The scope of the search based on the target you entered.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "exact",
                "prefix",
                "domain",
                "subdomains"
              ],
              "default": "subdomains"
            },
            "name": "mode",
            "in": "query"
          },
          {
            "description": "The backlinks grouping mode.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "similar_links",
                "1_per_domain",
                "all"
              ],
              "default": "similar_links"
            },
            "name": "aggregation",
            "in": "query"
          },
          {
            "description": "A time frame to add lost backlinks to the report. Choose between `live` (no history), `since:<date>` (history since a specified date), and `all_time` (full history). The date should be in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "default": "all_time"
            },
            "name": "history",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-explorer.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.all-backlinks"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.all-backlinks"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-explorer.error_500"
          }
        }
      }
    },
    "/site-explorer/broken-backlinks": {
      "get": {
        "tags": [
          "Site Explorer"
        ],
        "summary": "Broken Backlinks",
        "operationId": "site-explorer.broken-backlinks",
        "parameters": [
          {
            "description": "A manual timeout duration in seconds.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "timeout",
            "in": "query"
          },
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer",
              "default": 1000
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "A column to order results by. See the response schema for valid column identifiers, except for `http_code_target`, `last_visited_target`, `link_group_count`, which are not supported in `order_by` for this endpoint.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "examples": [
                "field_a,field_b:asc,field_c:desc"
              ]
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the `select` parameter).\n\n**ahrefs_rank_source**: The strength of the referring domain's backlink profile compared to the other websites in our database, with rank #1 being the strongest.  \ntype: integer\n\n**ahrefs_rank_target**: The strength of the target domain's backlink profile compared to the other websites in our database, with rank #1 being the strongest.  \ntype: integer\n\n**alt**: The alt attribute of the link.  \ntype: string nullable\n\n**anchor**: The clickable words in a link that point to a URL.  \ntype: string\n\n**class_c** (5 units): The number of unique class_c subnets linking to the referring page.  \ntype: integer\n\n**domain_rating_source**: The strength of the referring domain's backlink profile compared to the others in our database on a 100-point scale.  \ntype: float\n\n**domain_rating_target**: The strength of the referring domain's backlink profile compared to the others in our database on a 100-point scale.  \ntype: float\n\n**encoding**: The character set encoding of the referring page HTML.  \ntype: string\n\n**first_seen**: The date the referring page URL was first discovered.  \ntype: datetime\n\n**first_seen_link**: The date we first found a backlink to your target on a given referring page.  \ntype: datetime\n\n**http_code**: The return code from HTTP protocol returned during the referring page crawl.  \ntype: integer\n\n**http_code_target**: The return code from HTTP protocol returned during the target page crawl.  \ntype: integer nullable\n\n**http_crawl**: The link was discovered without executing javascript and rendering the page.  \ntype: boolean\n\n**ip_source**: The referring domain IP address.  \ntype: string nullable\n\n**is_alternate**: The link with the rel=“alternate” attribute.  \ntype: boolean\n\n**is_canonical**: The link with the rel=“canonical” attribute.  \ntype: boolean\n\n**is_content**: The link was found in the biggest piece of content on the page.  \ntype: boolean\n\n**is_dofollow**: The link has no special nofollow attribute.  \ntype: boolean\n\n**is_form**: The link was found in a form HTML tag.  \ntype: boolean\n\n**is_frame**: The link was found in an iframe HTML tag.  \ntype: boolean\n\n**is_homepage_link**: The link was found on the homepage of a referring website.  \ntype: boolean\n\n**is_image**: The link is a regular link that has an image inside their href attribute.  \ntype: boolean\n\n**is_nofollow**: The link or the referring page has the nofollow attribute set.  \ntype: boolean\n\n**is_non_html**: The link points to a URL with non-HTML content.  \ntype: boolean\n\n**is_redirect**: The link pointing to your target via a redirect.  \ntype: boolean\n\n**is_root_source**: The referring domain name is a root domain name.  \ntype: boolean\n\n**is_root_target**: The target domain name is a root domain name.  \ntype: boolean\n\n**is_rss**: The link was found in an RSS feed.  \ntype: boolean\n\n**is_spam**: Indicates whether the backlink comes from a known spammy domain.  \ntype: boolean\n\n**is_sponsored**: The link has the Sponsored attribute set in the referring page HTML.  \ntype: boolean\n\n**is_text**: The link is a standard href hyperlink.  \ntype: boolean\n\n**is_ugc**: The link has the User Generated Content attribute set in the referring page HTML.  \ntype: boolean\n\n**js_crawl**: The link was discovered after executing javascript and rendering the page.  \ntype: boolean\n\n**languages**: The languages listed in the referring page metadata or detected by the crawler to appear in the HTML.  \ntype: array(string)\n\n**last_seen**: The date we discovered that the link was lost.  \ntype: datetime nullable\n\n**last_visited**: The date we last re-crawled the referring page to verify the backlink is alive.  \ntype: datetime\n\n**last_visited_target**: The date we last re-crawled the target page to verify that it is broken.  \ntype: datetime nullable\n\n**len_url_redirect**: The number of redirect chain URLs.  \ntype: integer\n\n**link_group_count**: The number of backlinks that were grouped together based on the aggregation parameter. This field cannot be used with aggregation 'all'.  \ntype: integer\n\n**link_type**: The kind of the backlink.  \ntype: string  \nenum: `\"redirect\"` `\"frame\"` `\"text\"` `\"form\"` `\"canonical\"` `\"alternate\"` `\"rss\"` `\"image\"`\n\n**linked_domains_source_domain**: The number of unique root domains linked from the referring domain.  \ntype: integer\n\n**linked_domains_source_page**: The number of unique root domains linked from the referring page.  \ntype: integer\n\n**linked_domains_target_domain**: The number of unique root domains linked from the target domain.  \ntype: integer\n\n**links_external**: The number of external links from the referring page.  \ntype: integer\n\n**links_internal**: The number of internal links from the referring page.  \ntype: integer\n\n**name_source**: The complete referring domain name, including subdomains.  \ntype: string\n\n**name_target**: The complete target domain name, including subdomains.  \ntype: string\n\n**page_category_source**: Comma-separated list of AI-predicted hierarchical category paths for the referring page. Each value is a slash-prefixed path (e.g. /Business_and_Industrial/Advertising_and_Marketing/Marketing).  \ntype: string nullable\n\n**page_size**: The size in bytes of the referring page content.  \ntype: integer\n\n**page_type_source**: Comma-separated list of AI-predicted hierarchical page type paths for the referring page. Each value is a slash-prefixed path (e.g. /Article/How_to).  \ntype: string nullable\n\n**port_source**: The network port of the referring page URL.  \ntype: integer\n\n**port_target**: The network port of the target page URL.  \ntype: integer\n\n**positions**: The number of keywords that the referring page ranks for in the top 100 positions.  \ntype: integer\n\n**positions_source_domain**: The number of keywords that the referring domain ranks for in the top 100 positions.  \ntype: integer\n\n**powered_by**: Web technologies used to build and serve the referring page content.  \ntype: array(string)\n\n**redirect_code**: The HTTP status code of a referring page pointing to your target via a redirect.  \ntype: integer nullable\n\n**redirect_kind**: The HTTP status codes returned by the target redirecting URL or redirect chain.  \ntype: array(integer)\n\n**refdomains_source** (5 units): The number of unique referring domains linking to the referring page.  \ntype: integer\n\n**refdomains_source_domain** (5 units): The number of unique referring domains linking to the referring domain.  \ntype: integer\n\n**refdomains_target_domain** (5 units): The number of unique referring domains linking to the target domain.  \ntype: integer\n\n**root_name_source**: The root domain name of the referring domain, not including subdomains.  \ntype: string\n\n**root_name_target**: The root domain name of the target domain, not including subdomains.  \ntype: string\n\n**snippet_left**: The snippet of text appearing just before the link.  \ntype: string\n\n**snippet_right**: The snippet of text appearing just after the link.  \ntype: string\n\n**source_page_author**: The author of the referring page.  \ntype: string nullable\n\n**title**: The html title of the referring page.  \ntype: string\n\n**tld_class_source**: The top level domain class of the referring domain.  \ntype: string  \nenum: `\"gov\"` `\"edu\"` `\"normal\"`\n\n**tld_class_target**: The top level domain class of the target domain.  \ntype: string  \nenum: `\"gov\"` `\"edu\"` `\"normal\"`\n\n**traffic** (10 units): The referring page's estimated monthly organic traffic from search.  \ntype: integer\n\n**traffic_domain** (10 units): The referring domain's estimated monthly organic traffic from search.  \ntype: integer\n\n**url_from**: The URL of the page containing a link to your target.  \ntype: string\n\n**url_from_plain**: The referring page URL optimized for use as a filter.  \ntype: string\n\n**url_rating_source**: The strength of the referring page's backlink profile compared to the others in our database on a 100-point scale.  \ntype: float\n\n**url_redirect**: A redirect chain the target URL of the link points to.  \ntype: array(url)\n\n**url_redirect_with_target**: The target URL of the link with its redirect chain.  \ntype: array(string)\n\n**url_to**: The URL the backlink points to.  \ntype: string\n\n**url_to_plain**: The target page URL optimized for use as a filter.  \ntype: string",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "select",
            "in": "query"
          },
          {
            "description": "The protocol of your target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "both",
                "http",
                "https"
              ],
              "default": "both"
            },
            "name": "protocol",
            "in": "query"
          },
          {
            "description": "The target of the search: a domain or a URL.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "url"
            },
            "name": "target",
            "in": "query"
          },
          {
            "description": "The scope of the search based on the target you entered.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "exact",
                "prefix",
                "domain",
                "subdomains"
              ],
              "default": "subdomains"
            },
            "name": "mode",
            "in": "query"
          },
          {
            "description": "The backlinks grouping mode.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "similar_links",
                "1_per_domain",
                "all"
              ],
              "default": "similar_links"
            },
            "name": "aggregation",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-explorer.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.broken-backlinks"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.broken-backlinks"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-explorer.error_500"
          }
        }
      }
    },
    "/site-explorer/refdomains": {
      "get": {
        "tags": [
          "Site Explorer"
        ],
        "summary": "Refdomains",
        "operationId": "site-explorer.refdomains",
        "parameters": [
          {
            "description": "A manual timeout duration in seconds.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "timeout",
            "in": "query"
          },
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer",
              "default": 1000
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to order results by, with optional direction. See response schema for valid column identifiers.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "examples": [
                "field_a,field_b:asc,field_c:desc"
              ]
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the `select` parameter).\n\n**anchor**: The clickable words in a link that point to a URL.  \ntype: string\n\n**discovered_status**: The reason the link was discovered during the last crawl: the page was crawled for the first time, the link was added to the page, or the link re-appeared after being removed.  \ntype: string nullable  \nenum: `\"pagefound\"` `\"linkfound\"` `\"linkrestored\"`\n\n**dofollow_linked_domains**: The number of unique root domains with dofollow links linked from the referring domain.  \ntype: integer\n\n**dofollow_links**: The number of links from the referring domain to your target that don't have the “nofollow” attribute.  \ntype: integer\n\n**dofollow_refdomains** (5 units): The number of unique domains with dofollow links to the referring domain.  \ntype: integer\n\n**domain**: A referring domain that has at least one link to your target.  \ntype: string\n\n**domain_rating**: The strength of a domain's backlink profile compared to the others in our database on a 100-point scale.  \ntype: float\n\n**drop_reason**: The reason we removed the link from our index.  \ntype: string nullable  \nenum: `\"manual\"` `\"noratingunused\"` `\"notop\"` `\"tooold\"` `\"oldunavailable\"` `\"rescursive\"` `\"duplicate\"` `\"nxdomain\"` `\"malformed\"` `\"blockedport\"` `\"disallowed\"` `\"unlinked\"` `\"lowvalue\"`\n\n**first_seen**: The date we first found a backlink to your target from the referring domain.  \ntype: datetime\n\n**ip_source**: The referring domain IP address.  \ntype: string nullable\n\n**is_content**: The link was found in the biggest piece of content on the page.  \ntype: boolean\n\n**is_dofollow**: The link has no special nofollow attribute.  \ntype: boolean\n\n**is_homepage_link**: The link was found on the homepage of a referring website.  \ntype: boolean\n\n**is_nofollow**: The link or the referring page has the nofollow attribute set.  \ntype: boolean\n\n**is_non_html**: The link points to a URL with non-HTML content.  \ntype: boolean\n\n**is_root_domain**: The domain name is a root domain name.  \ntype: boolean\n\n**is_spam**: Indicates whether the backlink comes from a known spammy domain.  \ntype: boolean\n\n**is_sponsored**: The link has the Sponsored attribute set in the referring page HTML.  \ntype: boolean\n\n**is_ugc**: The link has the User Generated Content attribute set in the referring page HTML.  \ntype: boolean\n\n**languages**: The languages listed in the referring page metadata or detected by the crawler to appear in the HTML.  \ntype: array(string)\n\n**last_seen**: The date your target lost its last live backlink for the referring domain.  \ntype: datetime nullable\n\n**len_url_redirect**: The number of redirect chain URLs.  \ntype: integer\n\n**link_type**: The kind of the backlink.  \ntype: string  \nenum: `\"redirect\"` `\"frame\"` `\"text\"` `\"form\"` `\"canonical\"` `\"alternate\"` `\"rss\"` `\"image\"`\n\n**linked_domains**: The number of unique root domains linked from the referring page.  \ntype: integer\n\n**links_external**: The number of external links from the referring page.  \ntype: integer\n\n**links_to_target**: The number of backlinks from the referring domain to your target.  \ntype: integer\n\n**lost_links**: The number of backlinks lost from the referring domain for the selected time period.  \ntype: integer\n\n**lost_reason**: The reason the link was lost during the last crawl.  \ntype: string nullable  \nenum: `\"removedfromhtml\"` `\"notcanonical\"` `\"noindex\"` `\"pageredirected\"` `\"pageerror\"` `\"lostredirect\"` `\"notfound\"`\n\n**new_links**: The number of new backlinks found from the referring domain for the selected time period.  \ntype: integer\n\n**noindex**: The referring page has the noindex meta attribute.  \ntype: boolean\n\n**port_source**: The network port of the referring page URL.  \ntype: integer\n\n**port_target**: The network port of the target page URL.  \ntype: integer\n\n**positions**: The number of keywords that the referring page ranks for in the top 100 positions.  \ntype: integer\n\n**positions_source_domain**: The number of keywords that the referring domain ranks for in the top 100 positions.  \ntype: integer\n\n**powered_by**: Web technologies used to build and serve the referring page content.  \ntype: array(string)\n\n**refdomains** (5 units): The number of unique referring domains linking to the referring page.  \ntype: integer\n\n**root_domain_name**: The root domain name of the referring domain, not including subdomains.  \ntype: string\n\n**snippet_left**: The snippet of text appearing just before the link.  \ntype: string\n\n**snippet_right**: The snippet of text appearing just after the link.  \ntype: string\n\n**source_page_author**: The author of the referring page.  \ntype: string nullable\n\n**title**: The html title of the referring page.  \ntype: string\n\n**traffic_domain** (10 units): The referring domain's estimated monthly organic traffic from search.  \ntype: integer\n\n**traffic_page** (10 units): The referring page's estimated monthly organic traffic from search.  \ntype: integer\n\n**url_from**: The URL of the page containing a link to your target.  \ntype: string\n\n**url_redirect**: A redirect chain the target URL of the link points to.  \ntype: array(url)\n\n**url_redirect_with_target**: The target URL of the link with its redirect chain.  \ntype: array(string)\n\n**url_to**: The URL the backlink points to.  \ntype: string",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "select",
            "in": "query"
          },
          {
            "description": "The protocol of your target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "both",
                "http",
                "https"
              ],
              "default": "both"
            },
            "name": "protocol",
            "in": "query"
          },
          {
            "description": "The target of the search: a domain or a URL.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "url"
            },
            "name": "target",
            "in": "query"
          },
          {
            "description": "The scope of the search based on the target you entered.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "exact",
                "prefix",
                "domain",
                "subdomains"
              ],
              "default": "subdomains"
            },
            "name": "mode",
            "in": "query"
          },
          {
            "description": "A time frame to add lost backlinks to the report. Choose between `live` (no history), `since:<date>` (history since a specified date), and `all_time` (full history). The date should be in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "default": "all_time"
            },
            "name": "history",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-explorer.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.refdomains"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.refdomains"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-explorer.error_500"
          }
        }
      }
    },
    "/site-explorer/anchors": {
      "get": {
        "tags": [
          "Site Explorer"
        ],
        "summary": "Anchors",
        "operationId": "site-explorer.anchors",
        "parameters": [
          {
            "description": "A manual timeout duration in seconds.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "timeout",
            "in": "query"
          },
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer",
              "default": 1000
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to order results by, with optional direction. See response schema for valid column identifiers.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "examples": [
                "field_a,field_b:asc,field_c:desc"
              ]
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the `select` parameter).\n\n**anchor**: The clickable words in a link that point to a URL.  \ntype: string\n\n**discovered_status**: The reason the link was discovered during the last crawl: the page was crawled for the first time, the link was added to the page, or the link re-appeared after being removed.  \ntype: string nullable  \nenum: `\"pagefound\"` `\"linkfound\"` `\"linkrestored\"`\n\n**dofollow_links**: The number of links with a given anchor to your target that don’t have the “nofollow” attribute.  \ntype: integer\n\n**domain_rating**: The strength of a domain's backlink profile compared to the others in our database on a 100-point scale.  \ntype: float\n\n**drop_reason**: The reason we removed the link from our index.  \ntype: string nullable  \nenum: `\"manual\"` `\"noratingunused\"` `\"notop\"` `\"tooold\"` `\"oldunavailable\"` `\"rescursive\"` `\"duplicate\"` `\"nxdomain\"` `\"malformed\"` `\"blockedport\"` `\"disallowed\"` `\"unlinked\"` `\"lowvalue\"`\n\n**first_seen**: The date we first found a link with a given anchor to your target.  \ntype: datetime\n\n**is_content**: The link was found in the biggest piece of content on the page.  \ntype: boolean\n\n**is_dofollow**: The link has no special nofollow attribute.  \ntype: boolean\n\n**is_homepage_link**: The link was found on the homepage of a referring website.  \ntype: boolean\n\n**is_nofollow**: The link or the referring page has the nofollow attribute set.  \ntype: boolean\n\n**is_non_html**: The link points to a URL with non-HTML content.  \ntype: boolean\n\n**is_root_domain**: The domain name is a root domain name.  \ntype: boolean\n\n**is_spam**: Indicates whether the backlink comes from a known spammy domain.  \ntype: boolean\n\n**is_sponsored**: The link has the Sponsored attribute set in the referring page HTML.  \ntype: boolean\n\n**is_ugc**: The link has the User Generated Content attribute set in the referring page HTML.  \ntype: boolean\n\n**languages**: The languages listed in the referring page metadata or detected by the crawler to appear in the HTML.  \ntype: array(string)\n\n**last_seen**: The date we discovered the last backlink with a given anchor was lost.  \ntype: datetime nullable\n\n**len_url_redirect**: The number of redirect chain URLs.  \ntype: integer\n\n**link_type**: The kind of the backlink.  \ntype: string  \nenum: `\"redirect\"` `\"frame\"` `\"text\"` `\"form\"` `\"canonical\"` `\"alternate\"` `\"rss\"` `\"image\"`\n\n**linked_domains**: The number of unique root domains linked from the referring page.  \ntype: integer\n\n**links_external**: The number of external links from the referring page.  \ntype: integer\n\n**links_to_target**: The number of inbound backlinks your target has with a given anchor.  \ntype: integer\n\n**lost_links**: The number of backlinks with a given anchor lost during the selected time period.  \ntype: integer\n\n**lost_reason**: The reason the link was lost during the last crawl.  \ntype: string nullable  \nenum: `\"removedfromhtml\"` `\"notcanonical\"` `\"noindex\"` `\"pageredirected\"` `\"pageerror\"` `\"lostredirect\"` `\"notfound\"`\n\n**new_links**: The number of new backlinks with a given anchor found during the selected time period.  \ntype: integer\n\n**noindex**: The referring page has the noindex meta attribute.  \ntype: boolean\n\n**positions**: The number of keywords that the referring page ranks for in the top 100 positions.  \ntype: integer\n\n**positions_source_domain**: The number of keywords that the referring domain ranks for in the top 100 positions.  \ntype: integer\n\n**powered_by**: Web technologies used to build and serve the referring page content.  \ntype: array(string)\n\n**refdomains** (5 units): The number of unique domains linking to your target with a given anchor.  \ntype: integer\n\n**refdomains_source** (5 units): The number of unique referring domains linking to the referring page.  \ntype: integer\n\n**refpages**: The number of pages containing a link with a given anchor to your target.  \ntype: integer\n\n**root_domain_name**: The root domain name of the referring domain, not including subdomains.  \ntype: string\n\n**snippet_left**: The snippet of text appearing just before the link.  \ntype: string\n\n**snippet_right**: The snippet of text appearing just after the link.  \ntype: string\n\n**source_page_author**: The author of the referring page.  \ntype: string nullable\n\n**title**: The html title of the referring page.  \ntype: string\n\n**top_domain_rating**: The highest Domain Rating (DR) counted out of all referring domains. DR shows the strength of a website’s backlink profile compared to the others in our database on a 100-point scale.  \ntype: float\n\n**traffic_domain** (10 units): The referring domain's estimated monthly organic traffic from search.  \ntype: integer\n\n**traffic_page** (10 units): The referring page's estimated monthly organic traffic from search.  \ntype: integer\n\n**url_from**: The URL of the page containing a link to your target.  \ntype: string\n\n**url_redirect**: A redirect chain the target URL of the link points to.  \ntype: array(url)\n\n**url_redirect_with_target**: The target URL of the link with its redirect chain.  \ntype: array(string)\n\n**url_to**: The URL the backlink points to.  \ntype: string",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "select",
            "in": "query"
          },
          {
            "description": "The protocol of your target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "both",
                "http",
                "https"
              ],
              "default": "both"
            },
            "name": "protocol",
            "in": "query"
          },
          {
            "description": "The target of the search: a domain or a URL.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "url"
            },
            "name": "target",
            "in": "query"
          },
          {
            "description": "The scope of the search based on the target you entered.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "exact",
                "prefix",
                "domain",
                "subdomains"
              ],
              "default": "subdomains"
            },
            "name": "mode",
            "in": "query"
          },
          {
            "description": "A time frame to add lost backlinks to the report. Choose between `live` (no history), `since:<date>` (history since a specified date), and `all_time` (full history). The date should be in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "default": "all_time"
            },
            "name": "history",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-explorer.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.anchors"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.anchors"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-explorer.error_500"
          }
        }
      }
    },
    "/site-explorer/linkeddomains": {
      "get": {
        "tags": [
          "Site Explorer"
        ],
        "summary": "Linked Domains",
        "operationId": "site-explorer.linkeddomains",
        "parameters": [
          {
            "description": "A manual timeout duration in seconds.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "timeout",
            "in": "query"
          },
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer",
              "default": 1000
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to order results by, with optional direction. See response schema for valid column identifiers.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "examples": [
                "field_a,field_b:asc,field_c:desc"
              ]
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the `select` parameter).\n\n**anchor**: The clickable words in a link that point to a URL.  \ntype: string\n\n**dofollow_linked_domains**: The number of unique root domains with dofollow links linked from the linked domain.  \ntype: integer\n\n**dofollow_links**: The number of links from your target to the linked domain that don’t have the “nofollow” attribute.  \ntype: integer\n\n**dofollow_refdomains** (5 units): The number of unique domains with dofollow links to the linked domain.  \ntype: integer\n\n**domain**: A linked domain that has at least one link from your target.  \ntype: string\n\n**domain_rating**: The strength of a domain's backlink profile compared to the others in our database on a 100-point scale.  \ntype: float\n\n**first_seen**: The date we first found a link to the linked domain from your target.  \ntype: datetime\n\n**is_content**: The link was found in the biggest piece of content on the page.  \ntype: boolean\n\n**is_dofollow**: The link has no special nofollow attribute.  \ntype: boolean\n\n**is_nofollow**: The link or the referring page has the nofollow attribute set.  \ntype: boolean\n\n**is_non_html**: The link points to a URL with non-HTML content.  \ntype: boolean\n\n**is_root_domain**: The domain name is a root domain name.  \ntype: boolean\n\n**is_sponsored**: The link has the Sponsored attribute set in the referring page HTML.  \ntype: boolean\n\n**is_ugc**: The link has the User Generated Content attribute set in the referring page HTML.  \ntype: boolean\n\n**languages**: The languages listed in the referring page metadata or detected by the crawler to appear in the HTML.  \ntype: array(string)\n\n**len_url_redirect**: The number of redirect chain URLs.  \ntype: integer\n\n**link_type**: The kind of the backlink.  \ntype: string  \nenum: `\"redirect\"` `\"frame\"` `\"text\"` `\"form\"` `\"canonical\"` `\"alternate\"` `\"rss\"` `\"image\"`\n\n**linked_domain_traffic** (10 units): The linked domain’s estimated monthly organic traffic from search  \ntype: integer\n\n**linked_domains**: The number of unique root domains linked from the referring page.  \ntype: integer\n\n**linked_pages**: The number of the domain's pages linked from your target.  \ntype: integer\n\n**links_external**: The number of external links from the referring page.  \ntype: integer\n\n**links_from_target**: The number of links to the linked domain from your target.  \ntype: integer\n\n**port_source**: The network port of the referring page URL.  \ntype: integer\n\n**port_target**: The network port of the target page URL.  \ntype: integer\n\n**positions**: The number of keywords that the referring page ranks for in the top 100 positions.  \ntype: integer\n\n**powered_by**: Web technologies used to build and serve the referring page content.  \ntype: array(string)\n\n**refdomains** (5 units): The number of unique referring domains linking to the referring page.  \ntype: integer\n\n**root_domain_name**: The root domain name of the referring domain, not including subdomains.  \ntype: string\n\n**snippet_left**: The snippet of text appearing just before the link.  \ntype: string\n\n**snippet_right**: The snippet of text appearing just after the link.  \ntype: string\n\n**title**: The html title of the referring page.  \ntype: string\n\n**traffic_page** (10 units): The referring page's estimated monthly organic traffic from search.  \ntype: integer\n\n**url_from**: The URL of the page containing a link from your target.  \ntype: string\n\n**url_redirect**: A redirect chain the target URL of the link points to.  \ntype: array(url)\n\n**url_redirect_with_target**: The target URL of the link with its redirect chain.  \ntype: array(string)\n\n**url_to**: The URL the outgoing link points to.  \ntype: string",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "select",
            "in": "query"
          },
          {
            "description": "The protocol of your target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "both",
                "http",
                "https"
              ],
              "default": "both"
            },
            "name": "protocol",
            "in": "query"
          },
          {
            "description": "The target of the search: a domain or a URL.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "url"
            },
            "name": "target",
            "in": "query"
          },
          {
            "description": "The scope of the search based on the target you entered.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "exact",
                "prefix",
                "domain",
                "subdomains"
              ],
              "default": "subdomains"
            },
            "name": "mode",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-explorer.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.linkeddomains"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.linkeddomains"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-explorer.error_500"
          }
        }
      }
    },
    "/site-explorer/linked-anchors-external": {
      "get": {
        "tags": [
          "Site Explorer"
        ],
        "summary": "Outgoing external anchors",
        "operationId": "site-explorer.linked-anchors-external",
        "parameters": [
          {
            "description": "A manual timeout duration in seconds.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "timeout",
            "in": "query"
          },
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer",
              "default": 1000
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to order results by, with optional direction. See response schema for valid column identifiers.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "examples": [
                "field_a,field_b:asc,field_c:desc"
              ]
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the `select` parameter).\n\n**anchor**: The clickable words in a link that point to a URL.  \ntype: string\n\n**dofollow_links**: The number of outbound links with a given anchor from your target that don’t have the “nofollow” attribute.  \ntype: integer\n\n**domain**: A linked domain that has at least one link from your target with a given anchor.  \ntype: string\n\n**domain_rating**: The strength of a domain's backlink profile compared to the others in our database on a 100-point scale.  \ntype: float\n\n**first_seen**: The date we first found a link with a given anchor on your target.  \ntype: datetime\n\n**is_content**: The link was found in the biggest piece of content on the page.  \ntype: boolean\n\n**is_dofollow**: The link has no special nofollow attribute.  \ntype: boolean\n\n**is_nofollow**: The link or the referring page has the nofollow attribute set.  \ntype: boolean\n\n**is_non_html**: The link points to a URL with non-HTML content.  \ntype: boolean\n\n**is_sponsored**: The link has the Sponsored attribute set in the referring page HTML.  \ntype: boolean\n\n**is_ugc**: The link has the User Generated Content attribute set in the referring page HTML.  \ntype: boolean\n\n**languages**: The languages listed in the referring page metadata or detected by the crawler to appear in the HTML.  \ntype: array(string)\n\n**len_url_redirect**: The number of redirect chain URLs.  \ntype: integer\n\n**link_type**: The kind of the backlink.  \ntype: string  \nenum: `\"redirect\"` `\"frame\"` `\"text\"` `\"form\"` `\"canonical\"` `\"alternate\"` `\"rss\"` `\"image\"`\n\n**linked_domains**: The number of unique domains linked from your target with a given anchor.  \ntype: integer\n\n**linked_domains_source**: The number of unique root domains linked from the source page.  \ntype: integer\n\n**linked_pages**: The number of unique pages linked from your target with a given anchor.  \ntype: integer\n\n**links_external**: The number of external links from the referring page.  \ntype: integer\n\n**links_from_target**: The number of outbound links your target has with a given anchor.  \ntype: integer\n\n**port_source**: The network port of the referring page URL.  \ntype: integer\n\n**port_target**: The network port of the target page URL.  \ntype: integer\n\n**positions**: The number of keywords that the referring page ranks for in the top 100 positions.  \ntype: integer\n\n**powered_by**: Web technologies used to build and serve the referring page content.  \ntype: array(string)\n\n**refdomains_source** (5 units): The number of unique referring domains linking to the referring page.  \ntype: integer\n\n**snippet_left**: The snippet of text appearing just before the link.  \ntype: string\n\n**snippet_right**: The snippet of text appearing just after the link.  \ntype: string\n\n**title**: The html title of the referring page.  \ntype: string\n\n**traffic_page** (10 units): The referring page's estimated monthly organic traffic from search.  \ntype: integer\n\n**url_from**: The URL of the page containing a link to your target.  \ntype: string\n\n**url_redirect**: A redirect chain the target URL of the link points to.  \ntype: array(url)\n\n**url_redirect_with_target**: The target URL of the link with its redirect chain.  \ntype: array(string)\n\n**url_to**: The URL the backlink points to.  \ntype: string",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "select",
            "in": "query"
          },
          {
            "description": "The protocol of your target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "both",
                "http",
                "https"
              ],
              "default": "both"
            },
            "name": "protocol",
            "in": "query"
          },
          {
            "description": "The target of the search: a domain or a URL.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "url"
            },
            "name": "target",
            "in": "query"
          },
          {
            "description": "The scope of the search based on the target you entered.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "exact",
                "prefix",
                "domain",
                "subdomains"
              ],
              "default": "subdomains"
            },
            "name": "mode",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-explorer.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.linked-anchors-external"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.linked-anchors-external"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-explorer.error_500"
          }
        }
      }
    },
    "/site-explorer/linked-anchors-internal": {
      "get": {
        "tags": [
          "Site Explorer"
        ],
        "summary": "Outgoing internal anchors",
        "operationId": "site-explorer.linked-anchors-internal",
        "parameters": [
          {
            "description": "A manual timeout duration in seconds.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "timeout",
            "in": "query"
          },
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer",
              "default": 1000
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to order results by, with optional direction. See response schema for valid column identifiers.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "examples": [
                "field_a,field_b:asc,field_c:desc"
              ]
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the `select` parameter).\n\n**anchor**: The clickable words in a link that point to a URL.  \ntype: string\n\n**dofollow_links**: The number of outbound links with a given anchor from your target that don’t have the “nofollow” attribute.  \ntype: integer\n\n**domain**: A linked domain that has at least one link from your target with a given anchor.  \ntype: string\n\n**domain_rating**: The strength of a domain's backlink profile compared to the others in our database on a 100-point scale.  \ntype: float\n\n**first_seen**: The date we first found a link with a given anchor on your target.  \ntype: datetime\n\n**is_content**: The link was found in the biggest piece of content on the page.  \ntype: boolean\n\n**is_dofollow**: The link has no special nofollow attribute.  \ntype: boolean\n\n**is_nofollow**: The link or the referring page has the nofollow attribute set.  \ntype: boolean\n\n**is_non_html**: The link points to a URL with non-HTML content.  \ntype: boolean\n\n**is_sponsored**: The link has the Sponsored attribute set in the referring page HTML.  \ntype: boolean\n\n**is_ugc**: The link has the User Generated Content attribute set in the referring page HTML.  \ntype: boolean\n\n**languages**: The languages listed in the referring page metadata or detected by the crawler to appear in the HTML.  \ntype: array(string)\n\n**len_url_redirect**: The number of redirect chain URLs.  \ntype: integer\n\n**link_type**: The kind of the backlink.  \ntype: string  \nenum: `\"redirect\"` `\"frame\"` `\"text\"` `\"form\"` `\"canonical\"` `\"alternate\"` `\"rss\"` `\"image\"`\n\n**linked_domains_source**: The number of unique root domains linked from the source page.  \ntype: integer\n\n**linked_pages**: The number of unique pages linked from your target with a given anchor.  \ntype: integer\n\n**links_external**: The number of external links from the referring page.  \ntype: integer\n\n**links_from_target**: The number of outbound links your target has with a given anchor.  \ntype: integer\n\n**port_source**: The network port of the referring page URL.  \ntype: integer\n\n**port_target**: The network port of the target page URL.  \ntype: integer\n\n**positions**: The number of keywords that the referring page ranks for in the top 100 positions.  \ntype: integer\n\n**powered_by**: Web technologies used to build and serve the referring page content.  \ntype: array(string)\n\n**refdomains_source** (5 units): The number of unique referring domains linking to the referring page.  \ntype: integer\n\n**snippet_left**: The snippet of text appearing just before the link.  \ntype: string\n\n**snippet_right**: The snippet of text appearing just after the link.  \ntype: string\n\n**title**: The html title of the referring page.  \ntype: string\n\n**traffic_page** (10 units): The referring page's estimated monthly organic traffic from search.  \ntype: integer\n\n**url_from**: The URL of the page containing a link to your target.  \ntype: string\n\n**url_redirect**: A redirect chain the target URL of the link points to.  \ntype: array(url)\n\n**url_redirect_with_target**: The target URL of the link with its redirect chain.  \ntype: array(string)\n\n**url_to**: The URL the backlink points to.  \ntype: string",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "select",
            "in": "query"
          },
          {
            "description": "The protocol of your target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "both",
                "http",
                "https"
              ],
              "default": "both"
            },
            "name": "protocol",
            "in": "query"
          },
          {
            "description": "The target of the search: a domain or a URL.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "url"
            },
            "name": "target",
            "in": "query"
          },
          {
            "description": "The scope of the search based on the target you entered.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "exact",
                "prefix",
                "domain",
                "subdomains"
              ],
              "default": "subdomains"
            },
            "name": "mode",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-explorer.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.linked-anchors-internal"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.linked-anchors-internal"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-explorer.error_500"
          }
        }
      }
    },
    "/site-explorer/organic-keywords": {
      "get": {
        "tags": [
          "Site Explorer"
        ],
        "summary": "Organic keywords",
        "operationId": "site-explorer.organic-keywords",
        "parameters": [
          {
            "description": "A manual timeout duration in seconds.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "timeout",
            "in": "query"
          },
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer",
              "default": 1000
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to order results by, with optional direction. See response schema for valid column identifiers.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "examples": [
                "field_a,field_b:asc,field_c:desc"
              ]
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the `select` parameter).\n\n**best_position**: The top position your target ranks for in the organic search results for a keyword.  \ntype: integer nullable\n\n**best_position_diff**: The change in position between your selected dates.  \ntype: integer nullable\n\n**best_position_has_thumbnail**: The top position has a thumbnail.  \ntype: boolean nullable\n\n**best_position_has_thumbnail_prev**: The top position has a thumbnail on the comparison date.  \ntype: boolean nullable\n\n**best_position_has_video**: The top position has a video.  \ntype: boolean nullable\n\n**best_position_has_video_prev**: The top position has a video on the comparison date.  \ntype: boolean nullable\n\n**best_position_kind**: The kind of the top position: organic, paid, or a SERP feature.  \ntype: string nullable  \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"`\n\n**best_position_kind_merged**: The kind of the top position optimized for sorting.  \ntype: string  \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"`\n\n**best_position_kind_prev**: The kind of the top position on the comparison date.  \ntype: string nullable  \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"`\n\n**best_position_prev**: The top position on the comparison date.  \ntype: integer nullable\n\n**best_position_set**: The ranking group of the top position.  \ntype: string  \nenum: `\"top_3\"` `\"top_4_10\"` `\"top_11_50\"` `\"top_51_more\"`\n\n**best_position_set_prev**: The ranking group of the top position on the comparison date.  \ntype: string nullable  \nenum: `\"top_3\"` `\"top_4_10\"` `\"top_11_50\"` `\"top_51_more\"`\n\n**best_position_url**: The ranking URL in organic search results.  \ntype: string nullable\n\n**best_position_url_prev**: The ranking URL on the comparison date.  \ntype: string nullable\n\n**best_position_url_raw**: The ranking page URL in encoded format.  \ntype: string nullable\n\n**best_position_url_raw_prev**: The ranking page URL on the comparison date in encoded format.  \ntype: string nullable\n\n**cpc**: Cost Per Click shows the average price that advertisers pay for each ad click in paid search results for a keyword, in USD cents.  \ntype: integer nullable\n\n**cpc_merged**: The CPC field optimized for sorting.  \ntype: integer nullable\n\n**cpc_prev**: The CPC metric on the comparison date.  \ntype: integer nullable\n\n**entities**: Organizations, products, persons, works, events, and locations found in a keyword.  \ntype: array(object)\n\n**event_entities**: Events found in a keyword.  \ntype: array(string)\n\n**is_best_position_set_top_11_50**: The ranking group of the top position is 11-50.  \ntype: boolean\n\n**is_best_position_set_top_11_50_prev**: The ranking group of the top position was 11-50 on the comparison date.  \ntype: boolean nullable\n\n**is_best_position_set_top_3**: The ranking group of the top position is Top 3.  \ntype: boolean\n\n**is_best_position_set_top_3_prev**: The ranking group of the top position was Top 3 on the comparison date.  \ntype: boolean nullable\n\n**is_best_position_set_top_4_10**: The ranking group of the top position is 4-10.  \ntype: boolean\n\n**is_best_position_set_top_4_10_prev**: The ranking group of the top position was 4-10 on the comparison date.  \ntype: boolean nullable\n\n**is_branded**: User intent: branded. The user is searching for a specific brand or company name.  \ntype: boolean\n\n**is_commercial**: User intent: commercial. The user is comparing products or services before making a purchase decision.  \ntype: boolean\n\n**is_informational**: User intent: informational. The user is looking for information or an answer to a specific question.  \ntype: boolean\n\n**is_local**: User intent: local. The user is looking for information relevant to a specific location or nearby services.  \ntype: boolean\n\n**is_main_position**: Excludes positions in AI Overviews, Sitelinks, Top stories, Image packs, Videos, Discussions and forums, and posts on X (Twitter).  \ntype: boolean\n\n**is_main_position_prev**: Excludes positions in AI Overviews, Sitelinks, Top stories, Image packs, Videos, Discussions and forums, and posts on X (Twitter) on the comparison date.  \ntype: boolean\n\n**is_navigational**: User intent: navigational. The user is searching for a specific website or web page.  \ntype: boolean\n\n**is_transactional**: User intent: transactional. The user is ready to complete an action, often a purchase.  \ntype: boolean\n\n**keyword**: The keyword your target ranks for.  \ntype: string\n\n**keyword_country**: The country of a keyword your target ranks for.  \ntype: string  \nenum: `\"AD\"` `\"AE\"` `\"AF\"` `\"AG\"` `\"AI\"` `\"AL\"` `\"AM\"` `\"AO\"` `\"AQ\"` `\"AR\"` `\"AS\"` `\"AT\"` `\"AU\"` `\"AW\"` `\"AX\"` `\"AZ\"` `\"BA\"` `\"BB\"` `\"BD\"` `\"BE\"` `\"BF\"` `\"BG\"` `\"BH\"` `\"BI\"` `\"BJ\"` `\"BL\"` `\"BM\"` `\"BN\"` `\"BO\"` `\"BQ\"` `\"BR\"` `\"BS\"` `\"BT\"` `\"BV\"` `\"BW\"` `\"BY\"` `\"BZ\"` `\"CA\"` `\"CC\"` `\"CD\"` `\"CF\"` `\"CG\"` `\"CH\"` `\"CI\"` `\"CK\"` `\"CL\"` `\"CM\"` `\"CN\"` `\"CO\"` `\"CR\"` `\"CU\"` `\"CV\"` `\"CW\"` `\"CX\"` `\"CY\"` `\"CZ\"` `\"DE\"` `\"DJ\"` `\"DK\"` `\"DM\"` `\"DO\"` `\"DZ\"` `\"EC\"` `\"EE\"` `\"EG\"` `\"EH\"` `\"ER\"` `\"ES\"` `\"ET\"` `\"FI\"` `\"FJ\"` `\"FK\"` `\"FM\"` `\"FO\"` `\"FR\"` `\"GA\"` `\"GB\"` `\"GD\"` `\"GE\"` `\"GF\"` `\"GG\"` `\"GH\"` `\"GI\"` `\"GL\"` `\"GM\"` `\"GN\"` `\"GP\"` `\"GQ\"` `\"GR\"` `\"GS\"` `\"GT\"` `\"GU\"` `\"GW\"` `\"GY\"` `\"HK\"` `\"HM\"` `\"HN\"` `\"HR\"` `\"HT\"` `\"HU\"` `\"ID\"` `\"IE\"` `\"IL\"` `\"IM\"` `\"IN\"` `\"IO\"` `\"IQ\"` `\"IR\"` `\"IS\"` `\"IT\"` `\"JE\"` `\"JM\"` `\"JO\"` `\"JP\"` `\"KE\"` `\"KG\"` `\"KH\"` `\"KI\"` `\"KM\"` `\"KN\"` `\"KP\"` `\"KR\"` `\"KW\"` `\"KY\"` `\"KZ\"` `\"LA\"` `\"LB\"` `\"LC\"` `\"LI\"` `\"LK\"` `\"LR\"` `\"LS\"` `\"LT\"` `\"LU\"` `\"LV\"` `\"LY\"` `\"MA\"` `\"MC\"` `\"MD\"` `\"ME\"` `\"MF\"` `\"MG\"` `\"MH\"` `\"MK\"` `\"ML\"` `\"MM\"` `\"MN\"` `\"MO\"` `\"MP\"` `\"MQ\"` `\"MR\"` `\"MS\"` `\"MT\"` `\"MU\"` `\"MV\"` `\"MW\"` `\"MX\"` `\"MY\"` `\"MZ\"` `\"NA\"` `\"NC\"` `\"NE\"` `\"NF\"` `\"NG\"` `\"NI\"` `\"NL\"` `\"NO\"` `\"NP\"` `\"NR\"` `\"NU\"` `\"NZ\"` `\"OM\"` `\"OTHER\"` `\"PA\"` `\"PE\"` `\"PF\"` `\"PG\"` `\"PH\"` `\"PK\"` `\"PL\"` `\"PM\"` `\"PN\"` `\"PR\"` `\"PS\"` `\"PT\"` `\"PW\"` `\"PY\"` `\"QA\"` `\"RE\"` `\"RO\"` `\"RS\"` `\"RU\"` `\"RW\"` `\"SA\"` `\"SB\"` `\"SC\"` `\"SD\"` `\"SE\"` `\"SG\"` `\"SH\"` `\"SI\"` `\"SJ\"` `\"SK\"` `\"SL\"` `\"SM\"` `\"SN\"` `\"SO\"` `\"SR\"` `\"SS\"` `\"ST\"` `\"SV\"` `\"SX\"` `\"SY\"` `\"SZ\"` `\"TC\"` `\"TD\"` `\"TF\"` `\"TG\"` `\"TH\"` `\"TJ\"` `\"TK\"` `\"TL\"` `\"TM\"` `\"TN\"` `\"TO\"` `\"TR\"` `\"TT\"` `\"TV\"` `\"TW\"` `\"TZ\"` `\"UA\"` `\"UG\"` `\"UM\"` `\"US\"` `\"UY\"` `\"UZ\"` `\"VA\"` `\"VC\"` `\"VE\"` `\"VG\"` `\"VI\"` `\"VN\"` `\"VU\"` `\"WF\"` `\"WS\"` `\"YE\"` `\"YT\"` `\"ZA\"` `\"ZM\"` `\"ZW\"`\n\n**keyword_difficulty** (10 units): An estimation of how hard it is to rank in the top 10 organic search results for a keyword on a 100-point scale.  \ntype: integer nullable\n\n**keyword_difficulty_merged** (10 units): The keyword difficulty field optimized for sorting.  \ntype: integer nullable\n\n**keyword_difficulty_prev** (10 units): The keyword difficulty on the comparison date.  \ntype: integer nullable\n\n**keyword_language**: The language of the search query  \ntype: array(string)\n\n**keyword_merged**: The keyword field optimized for sorting.  \ntype: string\n\n**keyword_prev**: The keyword your target ranks for on the comparison date.  \ntype: string\n\n**language**: The SERP language.  \ntype: string\n\n**language_prev**: The SERP language on the comparison date.  \ntype: string nullable\n\n**last_update**: The date when we last checked search engine results for a keyword.  \ntype: datetime\n\n**last_update_prev**: The date when we checked search engine results up to the comparison date.  \ntype: datetime nullable\n\n**location_entities**: Locations found in a keyword.  \ntype: array(string)\n\n**organisation_entities**: Organizations found in a keyword.  \ntype: array(string)\n\n**person_entities**: Persons found in a keyword.  \ntype: array(string)\n\n**position_kind**: The kind of a position: organic, paid or a SERP feature. This applies to all positions for a given keyword and URL before picking the top position.  \ntype: string  \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"`\n\n**position_kind_prev**: The kind of a position on the comparison date.  \ntype: string  \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"`\n\n**positions_kinds**: The kinds of the top positions.  \ntype: array(string)  \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"` `\"image_th\"` `\"video_th\"` `\"ai_overview_found\"`\n\n**positions_kinds_prev**: The kinds of the top positions on the comparison date.  \ntype: array(string)  \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"` `\"image_th\"` `\"video_th\"` `\"ai_overview_found\"`\n\n**product_entities**: Products found in a keyword.  \ntype: array(string)\n\n**serp_features**: The SERP features that appear in search results for a keyword.  \ntype: array(string)  \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"` `\"image_th\"` `\"video_th\"` `\"ai_overview_found\"`\n\n**serp_features_count**: The number of SERP features that appear in search results for a keyword.  \ntype: integer\n\n**serp_features_count_prev**: The number of SERP features on the comparison date.  \ntype: integer nullable\n\n**serp_features_merged**: The SERP features field optimized for sorting.  \ntype: array(string)  \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"` `\"image_th\"` `\"video_th\"` `\"ai_overview_found\"`\n\n**serp_features_prev**: The SERP features that appear in search results for a keyword on the comparison date.  \ntype: array(string)  \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"` `\"image_th\"` `\"video_th\"` `\"ai_overview_found\"`\n\n**serp_target_main_positions_count**: The number of target URLs ranking for a keyword excluding positions in Sitelinks, Top stories, Image packs, and posts on X (Twitter).  \ntype: integer\n\n**serp_target_main_positions_count_prev**: The number of target URLs ranking for a keyword excluding positions in Sitelinks, Top stories, Image packs, and posts on X (Twitter) on the comparison date.  \ntype: integer nullable\n\n**serp_target_positions_count**: The number of target URLs ranking for a keyword.  \ntype: integer\n\n**serp_target_positions_count_prev**: The number of target URLs ranking for a keyword on the comparison date.  \ntype: integer nullable\n\n**status**: The status of a page: the new page that just started to rank (\"left\"), the lost page that disappeared from search results (\"right\"), or no change (\"both\").  \ntype: string  \nenum: `\"left\"` `\"right\"` `\"both\"`\n\n**sum_paid_traffic** (10 units): An estimation of the number of monthly visits that your target gets from paid search for a keyword.  \ntype: integer nullable\n\n**sum_paid_traffic_merged** (10 units): The paid traffic field optimized for sorting.  \ntype: integer\n\n**sum_paid_traffic_prev** (10 units): The paid traffic on the comparison date.  \ntype: integer nullable\n\n**sum_traffic** (10 units): An estimation of the number of monthly visitors that your target gets from organic search for a keyword.  \ntype: integer nullable\n\n**sum_traffic_merged** (10 units): The traffic field optimized for sorting.  \ntype: integer\n\n**sum_traffic_prev** (10 units): The traffic on the comparison date.  \ntype: integer nullable\n\n**title**: The title displayed for the page in a keyword's SERP.  \ntype: string\n\n**title_prev**: The title displayed for the page in a keyword's SERP on the comparison date.  \ntype: string\n\n**volume** (10 units): An estimation of the number of searches for a keyword over the latest month.  \ntype: integer nullable\n\n**volume_desktop_pct**: The percentage of the total search volume that comes from desktop devices.  \ntype: float nullable\n\n**volume_merged** (10 units): The search volume field optimized for sorting.  \ntype: integer nullable\n\n**volume_mobile_pct**: The percentage of the total search volume that comes from mobile devices.  \ntype: float nullable\n\n**volume_prev** (10 units): The search volume on the comparison date.  \ntype: integer nullable\n\n**words**: The number of words in a keyword.  \ntype: integer\n\n**words_merged**: The number of words in a keyword optimized for sorting.  \ntype: integer\n\n**words_prev**: The number of words in a keyword on the comparison date.  \ntype: integer\n\n**work_entities**: Works found in a keyword.  \ntype: array(string)",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "select",
            "in": "query"
          },
          {
            "description": "The protocol of your target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "both",
                "http",
                "https"
              ],
              "default": "both"
            },
            "name": "protocol",
            "in": "query"
          },
          {
            "description": "The target of the search: a domain or a URL.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "url"
            },
            "name": "target",
            "in": "query"
          },
          {
            "description": "The scope of the search based on the target you entered.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "exact",
                "prefix",
                "domain",
                "subdomains"
              ],
              "default": "subdomains"
            },
            "name": "mode",
            "in": "query"
          },
          {
            "description": "A two-letter country code (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"
              ]
            },
            "name": "country",
            "in": "query"
          },
          {
            "description": "A date to compare metrics with in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_compared",
            "in": "query"
          },
          {
            "description": "A date to report metrics on in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date",
            "in": "query"
          },
          {
            "description": "The search volume calculation mode: monthly or average. It affects volume, traffic, and traffic value.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "monthly",
                "average"
              ],
              "default": "monthly"
            },
            "name": "volume_mode",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-explorer.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.organic-keywords"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.organic-keywords"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-explorer.error_500"
          }
        }
      }
    },
    "/site-explorer/organic-competitors": {
      "get": {
        "tags": [
          "Site Explorer"
        ],
        "summary": "Organic competitors",
        "operationId": "site-explorer.organic-competitors",
        "parameters": [
          {
            "description": "A manual timeout duration in seconds.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "timeout",
            "in": "query"
          },
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer",
              "default": 1000
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to order results by, with optional direction. See response schema for valid column identifiers.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "examples": [
                "field_a,field_b:asc,field_c:desc"
              ]
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the `select` parameter).\n\n**competitor_domain**: A competitor's domain of your target in “domains\" group mode.  \ntype: domain nullable\n\n**competitor_url**: A competitor's URL of your target in pages\" group mode.  \ntype: url nullable\n\n**cpc_competitor**: Cost Per Click shows the average price that advertisers pay for each ad click in paid search results for a keyword, in USD cents for a competitor.  \ntype: integer nullable\n\n**cpc_target**: Cost Per Click shows the average price that advertisers pay for each ad click in paid search results for a keyword, in USD cents for a target.  \ntype: integer nullable\n\n**domain_rating**: The strength of a domain's backlink profile compared to the others in our database on a 100-point scale.  \ntype: float\n\n**group_mode**: To see competing pages instead, use the “exact URL” target mode or “path” target mode if your target doesn't have multiple pages.  \ntype: string  \nenum: `\"domains\"` `\"pages\"`\n\n**keyword_difficulty_competitor** (10 units): An estimation of how hard it is to rank in the top 10 organic search results for a keyword on a 100-point scale for a competitor.  \ntype: integer nullable\n\n**keyword_difficulty_target** (10 units): An estimation of how hard it is to rank in the top 10 organic search results for a keyword on a 100-point scale for a target.  \ntype: integer nullable\n\n**keywords_common**: Organic keywords that both your target and a competitor are ranking for.  \ntype: integer\n\n**keywords_competitor**: Organic keywords that a competitor is ranking for, but your target isn't.  \ntype: integer\n\n**keywords_target**: Organic keywords that your target is ranking for, but a competitor isn't.  \ntype: integer\n\n**pages**: The total number of pages from a target ranking in search results.  \ntype: integer nullable\n\n**pages_diff**: The change in pages between your selected dates.  \ntype: integer\n\n**pages_merged**: The pages field optimized for sorting.  \ntype: integer\n\n**pages_prev**: The total number of pages from a target ranking in search results on the comparison date.  \ntype: integer nullable\n\n**share**: The percentage of common keywords out of the total number of keywords that your target and a competitor both rank for.  \ntype: float\n\n**traffic** (10 units): An estimation of the number of monthly visits that a page gets from organic search over the latest month or over the latest known 12 months of data depending on the \"volume_mode\" parameter.  \ntype: integer nullable\n\n**traffic_diff**: The change in traffic between your selected dates.  \ntype: integer\n\n**traffic_merged** (10 units): The traffic field optimized for sorting.  \ntype: integer\n\n**traffic_prev** (10 units): An estimation of the number of monthly visits that a page gets from organic search over the latest month or over the latest known 12 months of data depending on the \"volume_mode\" parameter on the comparison date.  \ntype: integer nullable\n\n**value** (10 units): The estimated value of a page's monthly organic search traffic, in USD cents.  \ntype: integer nullable\n\n**value_diff**: The change in value between your selected dates.  \ntype: integer\n\n**value_merged** (10 units): The value field optimized for sorting.  \ntype: integer nullable\n\n**value_prev** (10 units): The estimated value of a page's monthly organic search traffic, in USD cents on the comparison date.  \ntype: integer nullable\n\n**volume_competitor** (10 units): An estimation of the average monthly number of searches for a keyword over the latest month or over the latest known 12 months of data depending on the \"volume_mode\" parameter for a competitor.  \ntype: integer nullable\n\n**volume_target** (10 units): An estimation of the average monthly number of searches for a keyword over the latest month or over the latest known 12 months of data depending on the \"volume_mode\" parameter for a target.  \ntype: integer nullable\n\n**words_competitor**: The number of words in a keyword for a competitor.  \ntype: integer\n\n**words_target**: The number of words in a keyword for a target.  \ntype: integer",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "select",
            "in": "query"
          },
          {
            "description": "The protocol of your target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "both",
                "http",
                "https"
              ],
              "default": "both"
            },
            "name": "protocol",
            "in": "query"
          },
          {
            "description": "The target of the search: a domain or a URL.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "url"
            },
            "name": "target",
            "in": "query"
          },
          {
            "description": "The scope of the search based on the target you entered.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "exact",
                "prefix",
                "domain",
                "subdomains"
              ],
              "default": "subdomains"
            },
            "name": "mode",
            "in": "query"
          },
          {
            "description": "A two-letter country code (ISO 3166-1 alpha-2).",
            "required": true,
            "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"
              ]
            },
            "name": "country",
            "in": "query"
          },
          {
            "description": "A date to compare metrics with in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_compared",
            "in": "query"
          },
          {
            "description": "A date to report metrics on in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date",
            "in": "query"
          },
          {
            "description": "The search volume calculation mode: monthly or average. It affects volume, traffic, and traffic value.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "monthly",
                "average"
              ],
              "default": "monthly"
            },
            "name": "volume_mode",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-explorer.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.organic-competitors"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.organic-competitors"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-explorer.error_500"
          }
        }
      }
    },
    "/site-explorer/top-pages": {
      "get": {
        "tags": [
          "Site Explorer"
        ],
        "summary": "Top pages",
        "operationId": "site-explorer.top-pages",
        "parameters": [
          {
            "description": "A manual timeout duration in seconds.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "timeout",
            "in": "query"
          },
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer",
              "default": 1000
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to order results by, with optional direction. See response schema for valid column identifiers.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "examples": [
                "field_a,field_b:asc,field_c:desc"
              ]
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the `select` parameter).\n\n**cpc**  \ntype: integer nullable\n\n**cpc_prev**: The CPC metric on the comparison date.  \ntype: integer nullable\n\n**has_thumbnail**: The position has a thumbnail.  \ntype: boolean\n\n**has_thumbnail_prev**: The position has a thumbnail on the comparison date.  \ntype: boolean\n\n**has_video**: The position has a video.  \ntype: boolean\n\n**has_video_prev**: The position has a video on the comparison date.  \ntype: boolean\n\n**keyword**: The keyword your target ranks for.  \ntype: string\n\n**keyword_difficulty** (10 units): An estimation of how hard it is to rank in the top 10 organic search results for a keyword on a 100-point scale.  \ntype: integer nullable\n\n**keyword_difficulty_prev** (10 units): The keyword difficulty on the comparison date.  \ntype: integer nullable\n\n**keyword_prev**: The keyword your target ranks for on the comparison date.  \ntype: string\n\n**keywords**: The total number of keywords that your target ranks for in the top 100 organic search results.  \ntype: integer\n\n**keywords_diff**: The change in keywords between your selected dates.  \ntype: integer\n\n**keywords_diff_percent**: The change in keywords between your selected dates, in percents.  \ntype: integer\n\n**keywords_merged**: The total number of keywords optimized for sorting.  \ntype: integer\n\n**keywords_prev**: The keyword your target ranks for on the comparison date.  \ntype: integer\n\n**page_type**: Comma-separated list of AI-predicted hierarchical page type paths. Each value is a slash-prefixed path (e.g. /Article/How_to).  \ntype: string nullable\n\n**position**: The position your target ranks for in the organic search results for a keyword.  \ntype: integer\n\n**position_kind**: The kind of a position: organic, paid or a SERP feature. This applies to all positions for a given keyword and URL before picking the top position.  \ntype: string  \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"`\n\n**position_kind_prev**: The kind of a position on the comparison date.  \ntype: string  \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"`\n\n**position_prev**: The position of your target for a given keyword on the comparison date.  \ntype: integer\n\n**raw_url**: The ranking page URL in encoded format.  \ntype: string\n\n**raw_url_prev**: The ranking page URL on the comparison date in encoded format.  \ntype: string\n\n**referring_domains** (5 units): The number of unique domains linking to a page.  \ntype: integer nullable\n\n**serp_features**  \ntype: array(string)  \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"` `\"image_th\"` `\"video_th\"` `\"ai_overview_found\"`\n\n**serp_features_prev**: The SERP features on the comparison date.  \ntype: array(string)  \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"` `\"image_th\"` `\"video_th\"` `\"ai_overview_found\"`\n\n**status**: The status of a page: the new page that just started to rank (\"left\"), the lost page that disappeared from search results (\"right\"), or no change (\"both\").  \ntype: string  \nenum: `\"left\"` `\"right\"` `\"both\"`\n\n**sum_traffic** (10 units): An estimation of the monthly organic search traffic that a page gets from all the keywords that it ranks for.  \ntype: integer nullable\n\n**sum_traffic_merged** (10 units): The traffic field optimized for sorting.  \ntype: integer\n\n**sum_traffic_prev** (10 units): The traffic on the comparison date.  \ntype: integer nullable\n\n**top_keyword**: The keyword that brings the most organic traffic to a page.  \ntype: string nullable\n\n**top_keyword_best_position**: The ranking position that a page holds for its top keyword.  \ntype: integer nullable\n\n**top_keyword_best_position_diff**: The change in the top position between your selected dates.  \ntype: integer nullable\n\n**top_keyword_best_position_kind**: The kind of the top position: organic, paid or a SERP feature.  \ntype: string nullable  \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"`\n\n**top_keyword_best_position_kind_prev**: The kind of the top position on the comparison date.  \ntype: string nullable  \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"`\n\n**top_keyword_best_position_prev**: The top position on the comparison date.  \ntype: integer nullable\n\n**top_keyword_best_position_title**: The title displayed for the page in its top keyword's SERP.  \ntype: string nullable\n\n**top_keyword_best_position_title_prev**: The title displayed for the page in its top keyword's SERP on the comparison date.  \ntype: string nullable\n\n**top_keyword_country**: The country in which a page ranks for its top keyword.  \ntype: string nullable  \nenum: `\"AD\"` `\"AE\"` `\"AF\"` `\"AG\"` `\"AI\"` `\"AL\"` `\"AM\"` `\"AO\"` `\"AQ\"` `\"AR\"` `\"AS\"` `\"AT\"` `\"AU\"` `\"AW\"` `\"AX\"` `\"AZ\"` `\"BA\"` `\"BB\"` `\"BD\"` `\"BE\"` `\"BF\"` `\"BG\"` `\"BH\"` `\"BI\"` `\"BJ\"` `\"BL\"` `\"BM\"` `\"BN\"` `\"BO\"` `\"BQ\"` `\"BR\"` `\"BS\"` `\"BT\"` `\"BV\"` `\"BW\"` `\"BY\"` `\"BZ\"` `\"CA\"` `\"CC\"` `\"CD\"` `\"CF\"` `\"CG\"` `\"CH\"` `\"CI\"` `\"CK\"` `\"CL\"` `\"CM\"` `\"CN\"` `\"CO\"` `\"CR\"` `\"CU\"` `\"CV\"` `\"CW\"` `\"CX\"` `\"CY\"` `\"CZ\"` `\"DE\"` `\"DJ\"` `\"DK\"` `\"DM\"` `\"DO\"` `\"DZ\"` `\"EC\"` `\"EE\"` `\"EG\"` `\"EH\"` `\"ER\"` `\"ES\"` `\"ET\"` `\"FI\"` `\"FJ\"` `\"FK\"` `\"FM\"` `\"FO\"` `\"FR\"` `\"GA\"` `\"GB\"` `\"GD\"` `\"GE\"` `\"GF\"` `\"GG\"` `\"GH\"` `\"GI\"` `\"GL\"` `\"GM\"` `\"GN\"` `\"GP\"` `\"GQ\"` `\"GR\"` `\"GS\"` `\"GT\"` `\"GU\"` `\"GW\"` `\"GY\"` `\"HK\"` `\"HM\"` `\"HN\"` `\"HR\"` `\"HT\"` `\"HU\"` `\"ID\"` `\"IE\"` `\"IL\"` `\"IM\"` `\"IN\"` `\"IO\"` `\"IQ\"` `\"IR\"` `\"IS\"` `\"IT\"` `\"JE\"` `\"JM\"` `\"JO\"` `\"JP\"` `\"KE\"` `\"KG\"` `\"KH\"` `\"KI\"` `\"KM\"` `\"KN\"` `\"KP\"` `\"KR\"` `\"KW\"` `\"KY\"` `\"KZ\"` `\"LA\"` `\"LB\"` `\"LC\"` `\"LI\"` `\"LK\"` `\"LR\"` `\"LS\"` `\"LT\"` `\"LU\"` `\"LV\"` `\"LY\"` `\"MA\"` `\"MC\"` `\"MD\"` `\"ME\"` `\"MF\"` `\"MG\"` `\"MH\"` `\"MK\"` `\"ML\"` `\"MM\"` `\"MN\"` `\"MO\"` `\"MP\"` `\"MQ\"` `\"MR\"` `\"MS\"` `\"MT\"` `\"MU\"` `\"MV\"` `\"MW\"` `\"MX\"` `\"MY\"` `\"MZ\"` `\"NA\"` `\"NC\"` `\"NE\"` `\"NF\"` `\"NG\"` `\"NI\"` `\"NL\"` `\"NO\"` `\"NP\"` `\"NR\"` `\"NU\"` `\"NZ\"` `\"OM\"` `\"OTHER\"` `\"PA\"` `\"PE\"` `\"PF\"` `\"PG\"` `\"PH\"` `\"PK\"` `\"PL\"` `\"PM\"` `\"PN\"` `\"PR\"` `\"PS\"` `\"PT\"` `\"PW\"` `\"PY\"` `\"QA\"` `\"RE\"` `\"RO\"` `\"RS\"` `\"RU\"` `\"RW\"` `\"SA\"` `\"SB\"` `\"SC\"` `\"SD\"` `\"SE\"` `\"SG\"` `\"SH\"` `\"SI\"` `\"SJ\"` `\"SK\"` `\"SL\"` `\"SM\"` `\"SN\"` `\"SO\"` `\"SR\"` `\"SS\"` `\"ST\"` `\"SV\"` `\"SX\"` `\"SY\"` `\"SZ\"` `\"TC\"` `\"TD\"` `\"TF\"` `\"TG\"` `\"TH\"` `\"TJ\"` `\"TK\"` `\"TL\"` `\"TM\"` `\"TN\"` `\"TO\"` `\"TR\"` `\"TT\"` `\"TV\"` `\"TW\"` `\"TZ\"` `\"UA\"` `\"UG\"` `\"UM\"` `\"US\"` `\"UY\"` `\"UZ\"` `\"VA\"` `\"VC\"` `\"VE\"` `\"VG\"` `\"VI\"` `\"VN\"` `\"VU\"` `\"WF\"` `\"WS\"` `\"YE\"` `\"YT\"` `\"ZA\"` `\"ZM\"` `\"ZW\"`\n\n**top_keyword_country_prev**: The country in which a page ranks for its top keyword on the comparison date.  \ntype: string nullable  \nenum: `\"AD\"` `\"AE\"` `\"AF\"` `\"AG\"` `\"AI\"` `\"AL\"` `\"AM\"` `\"AO\"` `\"AQ\"` `\"AR\"` `\"AS\"` `\"AT\"` `\"AU\"` `\"AW\"` `\"AX\"` `\"AZ\"` `\"BA\"` `\"BB\"` `\"BD\"` `\"BE\"` `\"BF\"` `\"BG\"` `\"BH\"` `\"BI\"` `\"BJ\"` `\"BL\"` `\"BM\"` `\"BN\"` `\"BO\"` `\"BQ\"` `\"BR\"` `\"BS\"` `\"BT\"` `\"BV\"` `\"BW\"` `\"BY\"` `\"BZ\"` `\"CA\"` `\"CC\"` `\"CD\"` `\"CF\"` `\"CG\"` `\"CH\"` `\"CI\"` `\"CK\"` `\"CL\"` `\"CM\"` `\"CN\"` `\"CO\"` `\"CR\"` `\"CU\"` `\"CV\"` `\"CW\"` `\"CX\"` `\"CY\"` `\"CZ\"` `\"DE\"` `\"DJ\"` `\"DK\"` `\"DM\"` `\"DO\"` `\"DZ\"` `\"EC\"` `\"EE\"` `\"EG\"` `\"EH\"` `\"ER\"` `\"ES\"` `\"ET\"` `\"FI\"` `\"FJ\"` `\"FK\"` `\"FM\"` `\"FO\"` `\"FR\"` `\"GA\"` `\"GB\"` `\"GD\"` `\"GE\"` `\"GF\"` `\"GG\"` `\"GH\"` `\"GI\"` `\"GL\"` `\"GM\"` `\"GN\"` `\"GP\"` `\"GQ\"` `\"GR\"` `\"GS\"` `\"GT\"` `\"GU\"` `\"GW\"` `\"GY\"` `\"HK\"` `\"HM\"` `\"HN\"` `\"HR\"` `\"HT\"` `\"HU\"` `\"ID\"` `\"IE\"` `\"IL\"` `\"IM\"` `\"IN\"` `\"IO\"` `\"IQ\"` `\"IR\"` `\"IS\"` `\"IT\"` `\"JE\"` `\"JM\"` `\"JO\"` `\"JP\"` `\"KE\"` `\"KG\"` `\"KH\"` `\"KI\"` `\"KM\"` `\"KN\"` `\"KP\"` `\"KR\"` `\"KW\"` `\"KY\"` `\"KZ\"` `\"LA\"` `\"LB\"` `\"LC\"` `\"LI\"` `\"LK\"` `\"LR\"` `\"LS\"` `\"LT\"` `\"LU\"` `\"LV\"` `\"LY\"` `\"MA\"` `\"MC\"` `\"MD\"` `\"ME\"` `\"MF\"` `\"MG\"` `\"MH\"` `\"MK\"` `\"ML\"` `\"MM\"` `\"MN\"` `\"MO\"` `\"MP\"` `\"MQ\"` `\"MR\"` `\"MS\"` `\"MT\"` `\"MU\"` `\"MV\"` `\"MW\"` `\"MX\"` `\"MY\"` `\"MZ\"` `\"NA\"` `\"NC\"` `\"NE\"` `\"NF\"` `\"NG\"` `\"NI\"` `\"NL\"` `\"NO\"` `\"NP\"` `\"NR\"` `\"NU\"` `\"NZ\"` `\"OM\"` `\"OTHER\"` `\"PA\"` `\"PE\"` `\"PF\"` `\"PG\"` `\"PH\"` `\"PK\"` `\"PL\"` `\"PM\"` `\"PN\"` `\"PR\"` `\"PS\"` `\"PT\"` `\"PW\"` `\"PY\"` `\"QA\"` `\"RE\"` `\"RO\"` `\"RS\"` `\"RU\"` `\"RW\"` `\"SA\"` `\"SB\"` `\"SC\"` `\"SD\"` `\"SE\"` `\"SG\"` `\"SH\"` `\"SI\"` `\"SJ\"` `\"SK\"` `\"SL\"` `\"SM\"` `\"SN\"` `\"SO\"` `\"SR\"` `\"SS\"` `\"ST\"` `\"SV\"` `\"SX\"` `\"SY\"` `\"SZ\"` `\"TC\"` `\"TD\"` `\"TF\"` `\"TG\"` `\"TH\"` `\"TJ\"` `\"TK\"` `\"TL\"` `\"TM\"` `\"TN\"` `\"TO\"` `\"TR\"` `\"TT\"` `\"TV\"` `\"TW\"` `\"TZ\"` `\"UA\"` `\"UG\"` `\"UM\"` `\"US\"` `\"UY\"` `\"UZ\"` `\"VA\"` `\"VC\"` `\"VE\"` `\"VG\"` `\"VI\"` `\"VN\"` `\"VU\"` `\"WF\"` `\"WS\"` `\"YE\"` `\"YT\"` `\"ZA\"` `\"ZM\"` `\"ZW\"`\n\n**top_keyword_prev**: The keyword that brings the most organic traffic to a page on the comparison date.  \ntype: string nullable\n\n**top_keyword_volume** (10 units): An estimation of the average monthly number of searches for the top keyword over the latest month or over the latest known 12 months of data depending on the \"volume_mode\" parameter.  \ntype: integer nullable\n\n**top_keyword_volume_prev** (10 units): The search volume on the comparison date.  \ntype: integer nullable\n\n**traffic** (10 units): An estimation of the number of monthly visitors that your target gets from organic search for a keyword.  \ntype: integer\n\n**traffic_diff**: The change in traffic between your selected dates.  \ntype: integer\n\n**traffic_diff_percent**: The change in traffic between your selected dates, in percents.  \ntype: integer\n\n**traffic_prev** (10 units): The traffic from a keyword on the comparison date.  \ntype: integer\n\n**ur**: URL Rating (UR) shows the strength of your target page’s backlink profile on a 100-point logarithmic scale.  \ntype: float nullable\n\n**url**: The ranking page URL.  \ntype: url nullable\n\n**url_prev**: The ranking page URL on the comparison date.  \ntype: url nullable\n\n**value** (10 units): The estimated value of a page's monthly organic search traffic, in USD cents.  \ntype: integer nullable\n\n**value_diff**: The change in traffic value between your selected dates.  \ntype: integer\n\n**value_diff_percent**: The change in traffic value between your selected dates, in percents.  \ntype: integer\n\n**value_merged** (10 units): The traffic value field optimized for sorting.  \ntype: integer nullable\n\n**value_prev** (10 units): The traffic value on the comparison date.  \ntype: integer nullable\n\n**volume** (10 units): An estimation of the number of searches for a keyword over the latest month.  \ntype: integer nullable\n\n**volume_prev** (10 units): The search volume on the comparison date.  \ntype: integer nullable\n\n**words**: The number of words in a keyword.  \ntype: integer\n\n**words_prev**: The number of words in a keyword on the comparison date.  \ntype: integer",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "select",
            "in": "query"
          },
          {
            "description": "The protocol of your target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "both",
                "http",
                "https"
              ],
              "default": "both"
            },
            "name": "protocol",
            "in": "query"
          },
          {
            "description": "The target of the search: a domain or a URL.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "url"
            },
            "name": "target",
            "in": "query"
          },
          {
            "description": "The scope of the search based on the target you entered.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "exact",
                "prefix",
                "domain",
                "subdomains"
              ],
              "default": "subdomains"
            },
            "name": "mode",
            "in": "query"
          },
          {
            "description": "A two-letter country code (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"
              ]
            },
            "name": "country",
            "in": "query"
          },
          {
            "description": "A date to compare metrics with in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_compared",
            "in": "query"
          },
          {
            "description": "A date to report metrics on in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date",
            "in": "query"
          },
          {
            "description": "The search volume calculation mode: monthly or average. It affects volume, traffic, and traffic value.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "monthly",
                "average"
              ],
              "default": "monthly"
            },
            "name": "volume_mode",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-explorer.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.top-pages"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.top-pages"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-explorer.error_500"
          }
        }
      }
    },
    "/site-explorer/paid-pages": {
      "get": {
        "tags": [
          "Site Explorer"
        ],
        "summary": "Paid pages",
        "operationId": "site-explorer.paid-pages",
        "parameters": [
          {
            "description": "A manual timeout duration in seconds.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "timeout",
            "in": "query"
          },
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer",
              "default": 1000
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to order results by, with optional direction. See response schema for valid column identifiers.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "examples": [
                "field_a,field_b:asc,field_c:desc"
              ]
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the `select` parameter).\n\n**ads_count**: The number of unique ads with a page.  \ntype: integer\n\n**ads_count_diff**: The change in ads between your selected dates.  \ntype: integer\n\n**ads_count_prev**: The number of ads on the comparison date.  \ntype: integer\n\n**cpc**  \ntype: integer nullable\n\n**cpc_prev**: The CPC metric on the comparison date.  \ntype: integer nullable\n\n**description**: The description of an ad as seen in search results.  \ntype: string\n\n**description_prev**: The description of an ad on the comparison date.  \ntype: string\n\n**has_thumbnail**: The position has a thumbnail.  \ntype: boolean\n\n**has_thumbnail_prev**: The position has a thumbnail on the comparison date.  \ntype: boolean\n\n**has_video**: The position has a video.  \ntype: boolean\n\n**has_video_prev**: The position has a video on the comparison date.  \ntype: boolean\n\n**keyword**: The keyword your target ranks for.  \ntype: string\n\n**keyword_difficulty** (10 units): An estimation of how hard it is to rank in the top 10 organic search results for a keyword on a 100-point scale.  \ntype: integer nullable\n\n**keyword_difficulty_prev** (10 units): The keyword difficulty on the comparison date.  \ntype: integer nullable\n\n**keyword_prev**: The keyword your target ranks for on the comparison date.  \ntype: string\n\n**keywords**: The total number of keywords that your target ranks for in paid search results.  \ntype: integer\n\n**keywords_diff**: The change in keywords between your selected dates.  \ntype: integer\n\n**keywords_diff_percent**: The change in keywords between your selected dates, in percents.  \ntype: integer\n\n**keywords_merged**: The total number of keywords optimized for sorting.  \ntype: integer\n\n**keywords_prev**: The keyword your target ranks for on the comparison date.  \ntype: integer\n\n**position**: The position your target ranks for in the paid search results for a keyword.  \ntype: integer\n\n**position_kind**: The kind of a position: organic, paid or a SERP feature. This applies to all positions for a given keyword and URL before picking the top position.  \ntype: string  \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"`\n\n**position_kind_prev**: The kind of a position on the comparison date.  \ntype: string  \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"`\n\n**position_prev**: The position of your target for a given keyword on the comparison date.  \ntype: integer\n\n**raw_url**: The ranking page URL in encoded format.  \ntype: string\n\n**raw_url_prev**: The ranking page URL on the comparison date in encoded format.  \ntype: string\n\n**referring_domains** (5 units): The number of unique domains linking to a page.  \ntype: integer nullable\n\n**serp_features**  \ntype: array(string)  \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"` `\"image_th\"` `\"video_th\"` `\"ai_overview_found\"`\n\n**serp_features_prev**: The SERP features on the comparison date.  \ntype: array(string)  \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"` `\"image_th\"` `\"video_th\"` `\"ai_overview_found\"`\n\n**status**: The status of a page: the new page that just started to rank in paid results (\"left\"), the lost page that disappeared from paid results (\"right\"), or no change (\"both\").  \ntype: string  \nenum: `\"left\"` `\"right\"` `\"both\"`\n\n**sum_traffic** (10 units): An estimation of the monthly paid search traffic that a page gets from all the keywords that it ranks for.  \ntype: integer nullable\n\n**sum_traffic_merged** (10 units): The paid traffic field optimized for sorting.  \ntype: integer\n\n**sum_traffic_prev** (10 units): The paid traffic on the comparison date.  \ntype: integer nullable\n\n**title**: The title of an ad as seen in search results.  \ntype: string\n\n**title_prev**: The title of an ad on the comparison date.  \ntype: string\n\n**top_keyword**: The keyword that brings the most paid traffic to a page.  \ntype: string nullable\n\n**top_keyword_best_position**: The ranking position that a page holds for its top keyword.  \ntype: integer nullable\n\n**top_keyword_best_position_diff**: The change in the top position between your selected dates.  \ntype: integer nullable\n\n**top_keyword_best_position_kind**: The kind of the top position: organic, paid or a SERP feature.  \ntype: string nullable  \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"`\n\n**top_keyword_best_position_kind_prev**: The kind of the top position on the comparison date.  \ntype: string nullable  \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"`\n\n**top_keyword_best_position_prev**: The top position on the comparison date.  \ntype: integer nullable\n\n**top_keyword_best_position_title**: The title displayed for the page in its top keyword's SERP.  \ntype: string nullable\n\n**top_keyword_best_position_title_prev**: The title displayed for the page in its top keyword's SERP on the comparison date.  \ntype: string nullable\n\n**top_keyword_country**: The country in which a page ranks for its top keyword.  \ntype: string nullable  \nenum: `\"AD\"` `\"AE\"` `\"AF\"` `\"AG\"` `\"AI\"` `\"AL\"` `\"AM\"` `\"AO\"` `\"AQ\"` `\"AR\"` `\"AS\"` `\"AT\"` `\"AU\"` `\"AW\"` `\"AX\"` `\"AZ\"` `\"BA\"` `\"BB\"` `\"BD\"` `\"BE\"` `\"BF\"` `\"BG\"` `\"BH\"` `\"BI\"` `\"BJ\"` `\"BL\"` `\"BM\"` `\"BN\"` `\"BO\"` `\"BQ\"` `\"BR\"` `\"BS\"` `\"BT\"` `\"BV\"` `\"BW\"` `\"BY\"` `\"BZ\"` `\"CA\"` `\"CC\"` `\"CD\"` `\"CF\"` `\"CG\"` `\"CH\"` `\"CI\"` `\"CK\"` `\"CL\"` `\"CM\"` `\"CN\"` `\"CO\"` `\"CR\"` `\"CU\"` `\"CV\"` `\"CW\"` `\"CX\"` `\"CY\"` `\"CZ\"` `\"DE\"` `\"DJ\"` `\"DK\"` `\"DM\"` `\"DO\"` `\"DZ\"` `\"EC\"` `\"EE\"` `\"EG\"` `\"EH\"` `\"ER\"` `\"ES\"` `\"ET\"` `\"FI\"` `\"FJ\"` `\"FK\"` `\"FM\"` `\"FO\"` `\"FR\"` `\"GA\"` `\"GB\"` `\"GD\"` `\"GE\"` `\"GF\"` `\"GG\"` `\"GH\"` `\"GI\"` `\"GL\"` `\"GM\"` `\"GN\"` `\"GP\"` `\"GQ\"` `\"GR\"` `\"GS\"` `\"GT\"` `\"GU\"` `\"GW\"` `\"GY\"` `\"HK\"` `\"HM\"` `\"HN\"` `\"HR\"` `\"HT\"` `\"HU\"` `\"ID\"` `\"IE\"` `\"IL\"` `\"IM\"` `\"IN\"` `\"IO\"` `\"IQ\"` `\"IR\"` `\"IS\"` `\"IT\"` `\"JE\"` `\"JM\"` `\"JO\"` `\"JP\"` `\"KE\"` `\"KG\"` `\"KH\"` `\"KI\"` `\"KM\"` `\"KN\"` `\"KP\"` `\"KR\"` `\"KW\"` `\"KY\"` `\"KZ\"` `\"LA\"` `\"LB\"` `\"LC\"` `\"LI\"` `\"LK\"` `\"LR\"` `\"LS\"` `\"LT\"` `\"LU\"` `\"LV\"` `\"LY\"` `\"MA\"` `\"MC\"` `\"MD\"` `\"ME\"` `\"MF\"` `\"MG\"` `\"MH\"` `\"MK\"` `\"ML\"` `\"MM\"` `\"MN\"` `\"MO\"` `\"MP\"` `\"MQ\"` `\"MR\"` `\"MS\"` `\"MT\"` `\"MU\"` `\"MV\"` `\"MW\"` `\"MX\"` `\"MY\"` `\"MZ\"` `\"NA\"` `\"NC\"` `\"NE\"` `\"NF\"` `\"NG\"` `\"NI\"` `\"NL\"` `\"NO\"` `\"NP\"` `\"NR\"` `\"NU\"` `\"NZ\"` `\"OM\"` `\"OTHER\"` `\"PA\"` `\"PE\"` `\"PF\"` `\"PG\"` `\"PH\"` `\"PK\"` `\"PL\"` `\"PM\"` `\"PN\"` `\"PR\"` `\"PS\"` `\"PT\"` `\"PW\"` `\"PY\"` `\"QA\"` `\"RE\"` `\"RO\"` `\"RS\"` `\"RU\"` `\"RW\"` `\"SA\"` `\"SB\"` `\"SC\"` `\"SD\"` `\"SE\"` `\"SG\"` `\"SH\"` `\"SI\"` `\"SJ\"` `\"SK\"` `\"SL\"` `\"SM\"` `\"SN\"` `\"SO\"` `\"SR\"` `\"SS\"` `\"ST\"` `\"SV\"` `\"SX\"` `\"SY\"` `\"SZ\"` `\"TC\"` `\"TD\"` `\"TF\"` `\"TG\"` `\"TH\"` `\"TJ\"` `\"TK\"` `\"TL\"` `\"TM\"` `\"TN\"` `\"TO\"` `\"TR\"` `\"TT\"` `\"TV\"` `\"TW\"` `\"TZ\"` `\"UA\"` `\"UG\"` `\"UM\"` `\"US\"` `\"UY\"` `\"UZ\"` `\"VA\"` `\"VC\"` `\"VE\"` `\"VG\"` `\"VI\"` `\"VN\"` `\"VU\"` `\"WF\"` `\"WS\"` `\"YE\"` `\"YT\"` `\"ZA\"` `\"ZM\"` `\"ZW\"`\n\n**top_keyword_country_prev**: The country in which a page ranks for its top keyword on the comparison date.  \ntype: string nullable  \nenum: `\"AD\"` `\"AE\"` `\"AF\"` `\"AG\"` `\"AI\"` `\"AL\"` `\"AM\"` `\"AO\"` `\"AQ\"` `\"AR\"` `\"AS\"` `\"AT\"` `\"AU\"` `\"AW\"` `\"AX\"` `\"AZ\"` `\"BA\"` `\"BB\"` `\"BD\"` `\"BE\"` `\"BF\"` `\"BG\"` `\"BH\"` `\"BI\"` `\"BJ\"` `\"BL\"` `\"BM\"` `\"BN\"` `\"BO\"` `\"BQ\"` `\"BR\"` `\"BS\"` `\"BT\"` `\"BV\"` `\"BW\"` `\"BY\"` `\"BZ\"` `\"CA\"` `\"CC\"` `\"CD\"` `\"CF\"` `\"CG\"` `\"CH\"` `\"CI\"` `\"CK\"` `\"CL\"` `\"CM\"` `\"CN\"` `\"CO\"` `\"CR\"` `\"CU\"` `\"CV\"` `\"CW\"` `\"CX\"` `\"CY\"` `\"CZ\"` `\"DE\"` `\"DJ\"` `\"DK\"` `\"DM\"` `\"DO\"` `\"DZ\"` `\"EC\"` `\"EE\"` `\"EG\"` `\"EH\"` `\"ER\"` `\"ES\"` `\"ET\"` `\"FI\"` `\"FJ\"` `\"FK\"` `\"FM\"` `\"FO\"` `\"FR\"` `\"GA\"` `\"GB\"` `\"GD\"` `\"GE\"` `\"GF\"` `\"GG\"` `\"GH\"` `\"GI\"` `\"GL\"` `\"GM\"` `\"GN\"` `\"GP\"` `\"GQ\"` `\"GR\"` `\"GS\"` `\"GT\"` `\"GU\"` `\"GW\"` `\"GY\"` `\"HK\"` `\"HM\"` `\"HN\"` `\"HR\"` `\"HT\"` `\"HU\"` `\"ID\"` `\"IE\"` `\"IL\"` `\"IM\"` `\"IN\"` `\"IO\"` `\"IQ\"` `\"IR\"` `\"IS\"` `\"IT\"` `\"JE\"` `\"JM\"` `\"JO\"` `\"JP\"` `\"KE\"` `\"KG\"` `\"KH\"` `\"KI\"` `\"KM\"` `\"KN\"` `\"KP\"` `\"KR\"` `\"KW\"` `\"KY\"` `\"KZ\"` `\"LA\"` `\"LB\"` `\"LC\"` `\"LI\"` `\"LK\"` `\"LR\"` `\"LS\"` `\"LT\"` `\"LU\"` `\"LV\"` `\"LY\"` `\"MA\"` `\"MC\"` `\"MD\"` `\"ME\"` `\"MF\"` `\"MG\"` `\"MH\"` `\"MK\"` `\"ML\"` `\"MM\"` `\"MN\"` `\"MO\"` `\"MP\"` `\"MQ\"` `\"MR\"` `\"MS\"` `\"MT\"` `\"MU\"` `\"MV\"` `\"MW\"` `\"MX\"` `\"MY\"` `\"MZ\"` `\"NA\"` `\"NC\"` `\"NE\"` `\"NF\"` `\"NG\"` `\"NI\"` `\"NL\"` `\"NO\"` `\"NP\"` `\"NR\"` `\"NU\"` `\"NZ\"` `\"OM\"` `\"OTHER\"` `\"PA\"` `\"PE\"` `\"PF\"` `\"PG\"` `\"PH\"` `\"PK\"` `\"PL\"` `\"PM\"` `\"PN\"` `\"PR\"` `\"PS\"` `\"PT\"` `\"PW\"` `\"PY\"` `\"QA\"` `\"RE\"` `\"RO\"` `\"RS\"` `\"RU\"` `\"RW\"` `\"SA\"` `\"SB\"` `\"SC\"` `\"SD\"` `\"SE\"` `\"SG\"` `\"SH\"` `\"SI\"` `\"SJ\"` `\"SK\"` `\"SL\"` `\"SM\"` `\"SN\"` `\"SO\"` `\"SR\"` `\"SS\"` `\"ST\"` `\"SV\"` `\"SX\"` `\"SY\"` `\"SZ\"` `\"TC\"` `\"TD\"` `\"TF\"` `\"TG\"` `\"TH\"` `\"TJ\"` `\"TK\"` `\"TL\"` `\"TM\"` `\"TN\"` `\"TO\"` `\"TR\"` `\"TT\"` `\"TV\"` `\"TW\"` `\"TZ\"` `\"UA\"` `\"UG\"` `\"UM\"` `\"US\"` `\"UY\"` `\"UZ\"` `\"VA\"` `\"VC\"` `\"VE\"` `\"VG\"` `\"VI\"` `\"VN\"` `\"VU\"` `\"WF\"` `\"WS\"` `\"YE\"` `\"YT\"` `\"ZA\"` `\"ZM\"` `\"ZW\"`\n\n**top_keyword_prev**: The keyword that brings the most paid traffic to a page on the comparison date.  \ntype: string nullable\n\n**top_keyword_volume** (10 units): An estimation of the average monthly number of searches for the top keyword over the latest month or over the latest known 12 months of data depending on the \"volume_mode\" parameter.  \ntype: integer nullable\n\n**top_keyword_volume_prev** (10 units): The search volume on the comparison date.  \ntype: integer nullable\n\n**traffic** (10 units): An estimation of the number of monthly visitors that your target gets from paid search for a keyword.  \ntype: integer\n\n**traffic_diff**: The change in traffic between your selected dates.  \ntype: integer\n\n**traffic_diff_percent**: The change in traffic between your selected dates, in percents.  \ntype: integer\n\n**traffic_prev** (10 units): The traffic from a keyword on the comparison date.  \ntype: integer\n\n**ur**: URL Rating (UR) shows the strength of your target page’s backlink profile on a 100-point logarithmic scale.  \ntype: float nullable\n\n**url**: The ranking page URL.  \ntype: url nullable\n\n**url_prev**: The ranking page URL on the comparison date.  \ntype: url nullable\n\n**url_visual**: The URL of an ad as seen in search results.  \ntype: string\n\n**url_visual_prev**: The URL of an ad on the comparison date.  \ntype: string\n\n**value** (10 units): The estimated cost of a page's monthly paid search traffic, in USD cents.  \ntype: integer nullable\n\n**value_diff**: The change in traffic value between your selected dates.  \ntype: integer\n\n**value_diff_percent**: The change in traffic value between your selected dates, in percents.  \ntype: integer\n\n**value_merged** (10 units): The traffic value field optimized for sorting.  \ntype: integer nullable\n\n**value_prev** (10 units): The traffic value on the comparison date.  \ntype: integer nullable\n\n**volume** (10 units): An estimation of the number of searches for a keyword over the latest month.  \ntype: integer nullable\n\n**volume_prev** (10 units): The search volume on the comparison date.  \ntype: integer nullable\n\n**words**: The number of words in a keyword.  \ntype: integer\n\n**words_prev**: The number of words in a keyword on the comparison date.  \ntype: integer",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "select",
            "in": "query"
          },
          {
            "description": "The protocol of your target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "both",
                "http",
                "https"
              ],
              "default": "both"
            },
            "name": "protocol",
            "in": "query"
          },
          {
            "description": "The target of the search: a domain or a URL.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "url"
            },
            "name": "target",
            "in": "query"
          },
          {
            "description": "The scope of the search based on the target you entered.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "exact",
                "prefix",
                "domain",
                "subdomains"
              ],
              "default": "subdomains"
            },
            "name": "mode",
            "in": "query"
          },
          {
            "description": "A two-letter country code (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"
              ]
            },
            "name": "country",
            "in": "query"
          },
          {
            "description": "A date to compare metrics with in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_compared",
            "in": "query"
          },
          {
            "description": "A date to report metrics on in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date",
            "in": "query"
          },
          {
            "description": "The search volume calculation mode: monthly or average. It affects volume, traffic, and traffic value.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "monthly",
                "average"
              ],
              "default": "monthly"
            },
            "name": "volume_mode",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-explorer.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.paid-pages"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.paid-pages"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-explorer.error_500"
          }
        }
      }
    },
    "/site-explorer/pages-by-backlinks": {
      "get": {
        "tags": [
          "Site Explorer"
        ],
        "summary": "Best pages by backlinks",
        "description": "Formerly `/best-by-external-links`",
        "operationId": "site-explorer.pages-by-backlinks",
        "parameters": [
          {
            "description": "A manual timeout duration in seconds.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "timeout",
            "in": "query"
          },
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer",
              "default": 1000
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "A column to order results by. See the response schema for valid column identifiers, except for `http_code_target`, `languages_target`, `last_visited_target`, `powered_by_target`, `target_redirect`, `title_target`, `url_rating_target`, which are not supported in `order_by` for this endpoint.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "examples": [
                "field_a,field_b:asc,field_c:desc"
              ]
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the `select` parameter).\n\n**anchor**: The clickable words in a link that point to a URL.  \ntype: string\n\n**dofollow_to_target**: The number of links to your target page that don’t have the “nofollow” attribute.  \ntype: integer\n\n**domain_rating_source**: The strength of the referring domain's backlink profile compared to the others in our database on a 100-point scale.  \ntype: float\n\n**first_seen_link**: The date we first found a link to your target.  \ntype: datetime\n\n**http_code_source**: The return code from HTTP protocol returned during the referring page crawl.  \ntype: integer\n\n**http_code_target**: The return code from HTTP protocol returned during the target page crawl.  \ntype: integer nullable\n\n**is_content**: The link was found in the biggest piece of content on the page.  \ntype: boolean\n\n**is_dofollow**: The link has no special nofollow attribute.  \ntype: boolean\n\n**is_homepage_link**: The link was found on the homepage of a referring website.  \ntype: boolean\n\n**is_lost**: The link currently does not exist anymore.  \ntype: boolean\n\n**is_new**: The link was discovered on the last crawl.  \ntype: boolean\n\n**is_nofollow**: The link or the referring page has the nofollow attribute set.  \ntype: boolean\n\n**is_non_html**: The link points to a URL with non-HTML content.  \ntype: boolean\n\n**is_root_source**: The referring domain name is a root domain name.  \ntype: boolean\n\n**is_spam**: Indicates whether the backlink comes from a known spammy domain.  \ntype: boolean\n\n**is_sponsored**: The link has the Sponsored attribute set in the referring page HTML.  \ntype: boolean\n\n**is_ugc**: The link has the User Generated Content attribute set in the referring page HTML.  \ntype: boolean\n\n**languages_source**: The languages listed in the referring page metadata or detected by the crawler to appear in the HTML.  \ntype: array(string)\n\n**languages_target**: The languages listed in the target page metadata or detected by the crawler to appear in the HTML.  \ntype: array(string)\n\n**last_seen**: The date your target page lost its last live link.  \ntype: datetime nullable\n\n**last_visited_source**: The date we last verified a live link to your target page.  \ntype: datetime\n\n**last_visited_target**: The date we last crawled your target page.  \ntype: datetime nullable\n\n**len_url_redirect**: The number of redirect chain URLs.  \ntype: integer\n\n**link_type**: The kind of the backlink.  \ntype: string  \nenum: `\"redirect\"` `\"frame\"` `\"text\"` `\"form\"` `\"canonical\"` `\"alternate\"` `\"rss\"` `\"image\"`\n\n**linked_domains_source**: The number of unique root domains linked from the referring page.  \ntype: integer\n\n**links_external_source**: The number of external links from the referring page.  \ntype: integer\n\n**links_to_target**: The number of inbound backlinks the target page has.  \ntype: integer\n\n**lost_links_to_target**: The number of backlinks lost during the selected time period.  \ntype: integer\n\n**new_links_to_target**: The number of new backlinks found during the selected time period.  \ntype: integer\n\n**nofollow_to_target**: The number of links to your target page that have the “nofollow” attribute.  \ntype: integer\n\n**positions_source**: The number of keywords that the referring page ranks for in the top 100 positions.  \ntype: integer\n\n**positions_source_domain**: The number of keywords that the referring domain ranks for in the top 100 positions.  \ntype: integer\n\n**powered_by_source**: Web technologies used to build and serve the referring page content.  \ntype: array(string)\n\n**powered_by_target**: Web technologies used to build and serve the target page content.  \ntype: array(string)\n\n**redirects_to_target**: The number of inbound redirects to your target page.  \ntype: integer\n\n**refdomains_source** (5 units): The number of unique referring domains linking to the referring page.  \ntype: integer\n\n**refdomains_target** (5 units): The number of unique referring domains linking to the target page.  \ntype: integer\n\n**root_name_source**: The root domain name of the referring domain, not including subdomains.  \ntype: string\n\n**snippet_left**: The snippet of text appearing just before the link.  \ntype: string\n\n**snippet_right**: The snippet of text appearing just after the link.  \ntype: string\n\n**source_page_author**: The author of the referring page.  \ntype: string nullable\n\n**target_redirect**: The target's redirect if any.  \ntype: string nullable\n\n**title_source**: The html title of the referring page.  \ntype: string\n\n**title_target**: The html title of the target page.  \ntype: string nullable\n\n**top_domain_rating_source**: The highest Domain Rating (DR) counted out of all referring domains. DR shows the strength of a website’s backlink profile compared to the others in our database on a 100-point scale.  \ntype: float\n\n**traffic_domain_source** (10 units): The referring domain's estimated monthly organic traffic from search.  \ntype: integer\n\n**traffic_source** (10 units): The referring page's estimated monthly organic traffic from search.  \ntype: integer\n\n**url_from_plain**: The referring page URL optimized for use as a filter.  \ntype: string\n\n**url_rating_source**: The strength of the referring page's backlink profile compared to the others in our database on a 100-point scale.  \ntype: float\n\n**url_rating_target**: The strength of the target page's backlink profile compared to the others in our database on a 100-point scale.  \ntype: float nullable\n\n**url_redirect**: A redirect chain the target URL of the link points to.  \ntype: array(url)\n\n**url_redirect_with_target**: The target URL of the link with its redirect chain.  \ntype: array(string)\n\n**url_to**: The URL the backlink points to.  \ntype: string\n\n**url_to_plain**: The target page URL optimized for use as a filter.  \ntype: string",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "select",
            "in": "query"
          },
          {
            "description": "The protocol of your target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "both",
                "http",
                "https"
              ],
              "default": "both"
            },
            "name": "protocol",
            "in": "query"
          },
          {
            "description": "The target of the search: a domain or a URL.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "url"
            },
            "name": "target",
            "in": "query"
          },
          {
            "description": "The scope of the search based on the target you entered.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "exact",
                "prefix",
                "domain",
                "subdomains"
              ],
              "default": "subdomains"
            },
            "name": "mode",
            "in": "query"
          },
          {
            "description": "A time frame to add lost backlinks to the report. Choose between `live` (no history), `since:<date>` (history since a specified date), and `all_time` (full history). The date should be in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "default": "all_time"
            },
            "name": "history",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-explorer.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.pages-by-backlinks"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.pages-by-backlinks"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-explorer.error_500"
          }
        }
      }
    },
    "/site-explorer/pages-by-internal-links": {
      "get": {
        "tags": [
          "Site Explorer"
        ],
        "summary": "Best pages by internal links",
        "description": "Formerly `/best-by-internal-links`",
        "operationId": "site-explorer.pages-by-internal-links",
        "parameters": [
          {
            "description": "A manual timeout duration in seconds.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "timeout",
            "in": "query"
          },
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer",
              "default": 1000
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "A column to order results by. See the response schema for valid column identifiers, except for `http_code_target`, `languages_target`, `last_visited_target`, `powered_by_target`, `target_redirect`, `title_target`, `url_rating_target`, which are not supported in `order_by` for this endpoint.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "examples": [
                "field_a,field_b:asc,field_c:desc"
              ]
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the `select` parameter).\n\n**anchor**: The clickable words in a link that point to a URL.  \ntype: string\n\n**canonical_to_target**: The number of inbound canonical links to your target page.  \ntype: integer\n\n**dofollow_to_target**: The number of links to your target page that don’t have the “nofollow” attribute.  \ntype: integer\n\n**domain_rating_source**: The strength of the referring domain's backlink profile compared to the others in our database on a 100-point scale.  \ntype: float\n\n**first_seen_link**: The date we first found a link to your target.  \ntype: datetime\n\n**http_code_source**: The return code from HTTP protocol returned during the referring page crawl.  \ntype: integer\n\n**http_code_target**: The return code from HTTP protocol returned during the target page crawl.  \ntype: integer nullable\n\n**is_content**: The link was found in the biggest piece of content on the page.  \ntype: boolean\n\n**is_dofollow**: The link has no special nofollow attribute.  \ntype: boolean\n\n**is_homepage_link**: The link was found on the homepage of a referring website.  \ntype: boolean\n\n**is_nofollow**: The link or the referring page has the nofollow attribute set.  \ntype: boolean\n\n**is_non_html**: The link points to a URL with non-HTML content.  \ntype: boolean\n\n**is_root_source**: The referring domain name is a root domain name.  \ntype: boolean\n\n**is_sponsored**: The link has the Sponsored attribute set in the referring page HTML.  \ntype: boolean\n\n**is_ugc**: The link has the User Generated Content attribute set in the referring page HTML.  \ntype: boolean\n\n**languages_source**: The languages listed in the referring page metadata or detected by the crawler to appear in the HTML.  \ntype: array(string)\n\n**languages_target**: The languages listed in the target page metadata or detected by the crawler to appear in the HTML.  \ntype: array(string)\n\n**last_seen**: The date your target page lost its last live link.  \ntype: datetime nullable\n\n**last_visited_source**: The date we last verified a live link to your target page.  \ntype: datetime\n\n**last_visited_target**: The date we last crawled your target page.  \ntype: datetime nullable\n\n**len_url_redirect**: The number of redirect chain URLs.  \ntype: integer\n\n**link_type**: The kind of the backlink.  \ntype: string  \nenum: `\"redirect\"` `\"frame\"` `\"text\"` `\"form\"` `\"canonical\"` `\"alternate\"` `\"rss\"` `\"image\"`\n\n**linked_domains_source**: The number of unique root domains linked from the referring page.  \ntype: integer\n\n**links_external_source**: The number of external links from the referring page.  \ntype: integer\n\n**links_to_target**: The number of inbound backlinks the target page has.  \ntype: integer\n\n**nofollow_to_target**: The number of links to your target page that have the “nofollow” attribute.  \ntype: integer\n\n**positions_source**: The number of keywords that the referring page ranks for in the top 100 positions.  \ntype: integer\n\n**positions_source_domain**: The number of keywords that the referring domain ranks for in the top 100 positions.  \ntype: integer\n\n**powered_by_source**: Web technologies used to build and serve the referring page content.  \ntype: array(string)\n\n**powered_by_target**: Web technologies used to build and serve the target page content.  \ntype: array(string)\n\n**redirects_to_target**: The number of inbound redirects to your target page.  \ntype: integer\n\n**refdomains_source** (5 units): The number of unique referring domains linking to the referring page.  \ntype: integer\n\n**root_name_source**: The root domain name of the referring domain, not including subdomains.  \ntype: string\n\n**snippet_left**: The snippet of text appearing just before the link.  \ntype: string\n\n**snippet_right**: The snippet of text appearing just after the link.  \ntype: string\n\n**source_page_author**: The author of the referring page.  \ntype: string nullable\n\n**target_redirect**: The target's redirect if any.  \ntype: string nullable\n\n**title_source**: The html title of the referring page.  \ntype: string\n\n**title_target**: The html title of the target page.  \ntype: string nullable\n\n**traffic_domain_source** (10 units): The referring domain's estimated monthly organic traffic from search.  \ntype: integer\n\n**traffic_source** (10 units): The referring page's estimated monthly organic traffic from search.  \ntype: integer\n\n**url_from_plain**: The referring page URL optimized for use as a filter.  \ntype: string\n\n**url_rating_source**: The strength of the referring page's backlink profile compared to the others in our database on a 100-point scale.  \ntype: float\n\n**url_rating_target**: The strength of the target page's backlink profile compared to the others in our database on a 100-point scale.  \ntype: float nullable\n\n**url_redirect**: A redirect chain the target URL of the link points to.  \ntype: array(url)\n\n**url_redirect_with_target**: The target URL of the link with its redirect chain.  \ntype: array(string)\n\n**url_to**: The URL the backlink points to.  \ntype: string\n\n**url_to_plain**: The target page URL optimized for use as a filter.  \ntype: string",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "select",
            "in": "query"
          },
          {
            "description": "The protocol of your target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "both",
                "http",
                "https"
              ],
              "default": "both"
            },
            "name": "protocol",
            "in": "query"
          },
          {
            "description": "The target of the search: a domain or a URL.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "url"
            },
            "name": "target",
            "in": "query"
          },
          {
            "description": "The scope of the search based on the target you entered.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "exact",
                "prefix",
                "domain",
                "subdomains"
              ],
              "default": "subdomains"
            },
            "name": "mode",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-explorer.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.pages-by-internal-links"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.pages-by-internal-links"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-explorer.error_500"
          }
        }
      }
    },
    "/site-explorer/total-search-volume-history": {
      "get": {
        "tags": [
          "Site Explorer"
        ],
        "summary": "Total search volume history",
        "operationId": "site-explorer.total-search-volume-history",
        "parameters": [
          {
            "description": "The search volume calculation mode: monthly or average. It affects volume, traffic, and traffic value.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "monthly",
                "average"
              ],
              "default": "monthly"
            },
            "name": "volume_mode",
            "in": "query"
          },
          {
            "description": "The number of top organic search positions to consider when calculating total search volume.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "top_10",
                "top_100"
              ],
              "default": "top_10"
            },
            "name": "top_positions",
            "in": "query"
          },
          {
            "description": "The time interval used to group historical data.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "daily",
                "weekly",
                "monthly"
              ],
              "default": "monthly"
            },
            "name": "history_grouping",
            "in": "query"
          },
          {
            "description": "The end date of the historical period in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_to",
            "in": "query"
          },
          {
            "description": "The start date of the historical period in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_from",
            "in": "query"
          },
          {
            "description": "A two-letter country code (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"
              ]
            },
            "name": "country",
            "in": "query"
          },
          {
            "description": "The protocol of your target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "both",
                "http",
                "https"
              ],
              "default": "both"
            },
            "name": "protocol",
            "in": "query"
          },
          {
            "description": "The target of the search: a domain or a URL.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "url"
            },
            "name": "target",
            "in": "query"
          },
          {
            "description": "The scope of the search based on the target you entered.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "exact",
                "prefix",
                "domain",
                "subdomains"
              ],
              "default": "subdomains"
            },
            "name": "mode",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-explorer.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.total-search-volume-history"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.total-search-volume-history"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-explorer.error_500"
          }
        }
      }
    },
    "/site-explorer/crawled-pages": {
      "get": {
        "tags": [
          "Site Explorer"
        ],
        "summary": "Crawled pages",
        "operationId": "site-explorer.crawled-pages",
        "parameters": [
          {
            "description": "A comma-separated list of fields to return.\n\n- `first_seen`\n- `http_code`\n- `last_attempt`\n- `last_crawled`\n- `title`\n- `url`\n- `url_rating`",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "select",
            "in": "query"
          },
          {
            "description": "A field to order the results by, with optional direction. Format: `field_name:asc` or `field_name:desc` (default `desc`).\n\n- `first_seen`\n- `http_code`\n- `last_attempt`\n- `last_crawled`\n- `title`\n- `url`\n- `url_rating`",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "Supported fields:\n- url\n- http_code\n- last_crawled\n- first_seen\n- last_attempt\n- url_rating\n- title\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "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 protocol of your target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "both",
                "http",
                "https"
              ],
              "default": "both"
            },
            "name": "protocol",
            "in": "query"
          },
          {
            "description": "The scope of the search based on the target you entered.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "exact",
                "prefix",
                "domain",
                "subdomains"
              ],
              "default": "subdomains"
            },
            "name": "mode",
            "in": "query"
          },
          {
            "description": "The target of the search: a domain or a URL.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "url"
            },
            "name": "target",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-explorer.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.crawled-pages"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-explorer.crawled-pages"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-explorer.error_500"
          }
        }
      }
    },
    "/keywords-explorer/overview": {
      "get": {
        "tags": [
          "Keywords Explorer"
        ],
        "summary": "Overview",
        "description": "The `regex` filter has limited functionality when used in this request, and the syntax differs from other requests. It expects an asterisk (*) symbol as a wildcard.",
        "operationId": "keywords-explorer.overview",
        "parameters": [
          {
            "description": "A manual timeout duration in seconds.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "timeout",
            "in": "query"
          },
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer",
              "default": 1000
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "A column to order results by. See the response schema for valid column identifiers, except for `volume_monthly`, which is not supported in `order_by` for this endpoint.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "examples": [
                "field_a,field_b:asc,field_c:desc"
              ]
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the `select` parameter).\n\n**clicks**: The average monthly number of clicks on the search results that people make while searching for the target keyword.  \ntype: integer nullable\n\n**cpc**: Cost Per Click shows the average price that advertisers pay for each ad click in paid search results for a keyword, in USD cents.  \ntype: integer nullable\n\n**cps**: Clicks Per Search (or CPS) is the ratio of Clicks to Keyword Search volume. It shows how many different search results get clicked, on average, when people search for the target keyword in a given country.  \ntype: float nullable\n\n**difficulty** (10 units): An estimation of how hard it is to rank in the top 10 organic search results for a keyword on a 100-point scale.  \ntype: integer nullable\n\n**first_seen**: The date when we first checked search engine results for a keyword.  \ntype: datetime nullable\n\n**global_volume** (10 units): How many times per month, on average, people search for the target keyword across all countries in our database.  \ntype: integer nullable\n\n**intents.branded**:   \ntype: boolean nullable\n\n**intents.commercial**:   \ntype: boolean nullable\n\n**intents.informational**:   \ntype: boolean nullable\n\n**intents.local**:   \ntype: boolean nullable\n\n**intents.navigational**:   \ntype: boolean nullable\n\n**intents.transactional**:   \ntype: boolean nullable\n\n**keyword**:   \ntype: string\n\n**parent_topic**: Parent Topic determines if you can rank for your target keyword while targeting a more general topic on your page instead. To identify the Parent Topic, we take the #1 ranking page for your keyword and find the keyword responsible for sending the most traffic to that page.  \ntype: string nullable\n\n**parent_volume** (10 units): The search volume of the parent topic.  \ntype: integer nullable\n\n**serp_domain_rating_top10_min**: The keyword must have at least one ranking position in the top 10 results with a DR of up to this value.  \ntype: float nullable\n\n**serp_domain_rating_top5_min**: The keyword must have at least one ranking position in the top 5 results with a DR of up to this value.  \ntype: float nullable\n\n**serp_features**: The enriched results on a search engine results page (SERP) that are not traditional organic results.  \ntype: array(string)  \nenum: `\"ai_overview_sitelink\"` `\"snippet\"` `\"ai_overview\"` `\"local_pack\"` `\"sitelink\"` `\"news\"` `\"image\"` `\"video\"` `\"discussion\"` `\"tweet\"` `\"paid_top\"` `\"paid_bottom\"` `\"paid_sitelink\"` `\"shopping\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"question\"` `\"image_th\"` `\"video_th\"` `\"organic_shopping\"`\n\n**serp_last_update**: The date when we last checked search engine results for a keyword.  \ntype: datetime nullable\n\n**traffic_potential** (10 units): The sum of organic traffic that the #1 ranking page for your target keyword receives from all the keywords that it ranks for.  \ntype: integer nullable\n\n**volume** (10 units): An estimation of the average monthly number of searches for a keyword over the latest known 12 months of data.  \ntype: integer nullable\n\n**volume_desktop_pct**: The percentage of searches for a keyword performed on desktop devices.  \ntype: float nullable\n\n**volume_mobile_pct**: The percentage of searches for a keyword performed on mobile devices.  \ntype: float nullable\n\n**word_count**:   \ntype: integer",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "select",
            "in": "query"
          },
          {
            "description": "The end date in YYYY-MM-DD format for retrieving historical monthly search volumes in the `volume_monthly_history` field. Required only if `volume_monthly_history` is requested.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "volume_monthly_date_to",
            "in": "query"
          },
          {
            "description": "The start date in YYYY-MM-DD format for retrieving historical monthly search volumes in the `volume_monthly_history` field. Required only if `volume_monthly_history` is requested.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "volume_monthly_date_from",
            "in": "query"
          },
          {
            "description": "The scope of the target URL you specified.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "exact",
                "prefix",
                "domain",
                "subdomains"
              ]
            },
            "name": "target_mode",
            "in": "query"
          },
          {
            "description": "The target of the search: a domain or a URL.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "url"
            },
            "name": "target",
            "in": "query"
          },
          {
            "description": "Filters keywords based on the ranking position of the specified `target`.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "in_top10",
                "in_top100"
              ]
            },
            "name": "target_position",
            "in": "query"
          },
          {
            "description": "A two-letter country code (ISO 3166-1 alpha-2).",
            "required": true,
            "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"
              ]
            },
            "name": "country",
            "in": "query"
          },
          {
            "description": "A comma-separated list of keywords to show metrics for.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "keywords",
            "in": "query"
          },
          {
            "description": "The id of an existing keyword list to show metrics for.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "keyword_list_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/keywords-explorer.output_json_php_xml"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/keywords-explorer.overview"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/keywords-explorer.overview"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/keywords-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/keywords-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/keywords-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/keywords-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/keywords-explorer.error_500"
          }
        }
      }
    },
    "/keywords-explorer/volume-history": {
      "get": {
        "tags": [
          "Keywords Explorer"
        ],
        "summary": "Volume history",
        "operationId": "keywords-explorer.volume-history",
        "parameters": [
          {
            "description": "The end date of the historical period in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_to",
            "in": "query"
          },
          {
            "description": "The start date of the historical period in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_from",
            "in": "query"
          },
          {
            "description": "A two-letter country code (ISO 3166-1 alpha-2).",
            "required": true,
            "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"
              ]
            },
            "name": "country",
            "in": "query"
          },
          {
            "description": "The keyword to show metrics for.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "keyword",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/keywords-explorer.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/keywords-explorer.volume-history"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/keywords-explorer.volume-history"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/keywords-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/keywords-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/keywords-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/keywords-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/keywords-explorer.error_500"
          }
        }
      }
    },
    "/keywords-explorer/volume-by-country": {
      "get": {
        "tags": [
          "Keywords Explorer"
        ],
        "summary": "Volume by country",
        "operationId": "keywords-explorer.volume-by-country",
        "parameters": [
          {
            "description": "The keyword to show metrics for.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "keyword",
            "in": "query"
          },
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "limit",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/keywords-explorer.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/keywords-explorer.volume-by-country"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/keywords-explorer.volume-by-country"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/keywords-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/keywords-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/keywords-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/keywords-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/keywords-explorer.error_500"
          }
        }
      }
    },
    "/keywords-explorer/matching-terms": {
      "get": {
        "tags": [
          "Keywords Explorer"
        ],
        "summary": "Matching terms",
        "operationId": "keywords-explorer.matching-terms",
        "parameters": [
          {
            "description": "A manual timeout duration in seconds.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "timeout",
            "in": "query"
          },
          {
            "description": "The number of results to return. Max: `150000`.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer",
              "default": 1000
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "A column to order results by. See the response schema for valid column identifiers, except for `volume_monthly`, which is not supported in `order_by` for this endpoint.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "examples": [
                "field_a,field_b:asc,field_c:desc"
              ]
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the `select` parameter).\n\n**cpc**: Cost Per Click shows the average price that advertisers pay for each ad click in paid search results for a keyword, in USD cents.  \ntype: integer nullable\n\n**cps**: Clicks Per Search (or CPS) is the ratio of Clicks to Keyword Search volume. It shows how many different search results get clicked, on average, when people search for the target keyword in a given country.  \ntype: float nullable\n\n**difficulty** (10 units): An estimation of how hard it is to rank in the top 10 organic search results for a keyword on a 100-point scale.  \ntype: integer nullable\n\n**first_seen**: The date when we first checked search engine results for a keyword.  \ntype: datetime nullable\n\n**global_volume** (10 units): How many times per month, on average, people search for the target keyword across all countries in our database.  \ntype: integer nullable\n\n**intents.branded**:   \ntype: boolean nullable\n\n**intents.commercial**:   \ntype: boolean nullable\n\n**intents.informational**:   \ntype: boolean nullable\n\n**intents.local**:   \ntype: boolean nullable\n\n**intents.navigational**:   \ntype: boolean nullable\n\n**intents.transactional**:   \ntype: boolean nullable\n\n**keyword**:   \ntype: string\n\n**parent_topic**: Parent Topic determines if you can rank for your target keyword while targeting a more general topic on your page instead. To identify the Parent Topic, we take the #1 ranking page for your keyword and find the keyword responsible for sending the most traffic to that page.  \ntype: string nullable\n\n**serp_domain_rating_top10_min**: The keyword must have at least one ranking position in the top 10 results with a DR of up to this value.  \ntype: float nullable\n\n**serp_domain_rating_top5_min**: The keyword must have at least one ranking position in the top 5 results with a DR of up to this value.  \ntype: float nullable\n\n**serp_features**: The enriched results on a search engine results page (SERP) that are not traditional organic results.  \ntype: array(string)  \nenum: `\"ai_overview_sitelink\"` `\"snippet\"` `\"ai_overview\"` `\"local_pack\"` `\"sitelink\"` `\"news\"` `\"image\"` `\"video\"` `\"discussion\"` `\"tweet\"` `\"paid_top\"` `\"paid_bottom\"` `\"paid_sitelink\"` `\"shopping\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"question\"` `\"image_th\"` `\"video_th\"` `\"organic_shopping\"`\n\n**serp_last_update**: The date when we last checked search engine results for a keyword.  \ntype: datetime nullable\n\n**traffic_potential** (10 units): The sum of organic traffic that the #1 ranking page for your target keyword receives from all the keywords that it ranks for.  \ntype: integer nullable\n\n**volume** (10 units): An estimation of the average monthly number of searches for a keyword over the latest known 12 months of data.  \ntype: integer nullable\n\n**volume_desktop_pct**: The percentage of searches for a keyword performed on desktop devices.  \ntype: float nullable\n\n**volume_mobile_pct**: The percentage of searches for a keyword performed on mobile devices.  \ntype: float nullable\n\n**word_count**:   \ntype: integer",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "select",
            "in": "query"
          },
          {
            "description": "A two-letter country code (ISO 3166-1 alpha-2).",
            "required": true,
            "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"
              ]
            },
            "name": "country",
            "in": "query"
          },
          {
            "description": "A comma-separated list of keywords to show metrics for.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "keywords",
            "in": "query"
          },
          {
            "description": "The id of an existing keyword list to show metrics for.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "keyword_list_id",
            "in": "query"
          },
          {
            "description": "Keyword ideas contain the words from your query in any order (terms mode) or in the exact order they are written (phrase mode).",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "terms",
                "phrase"
              ],
              "default": "terms"
            },
            "name": "match_mode",
            "in": "query"
          },
          {
            "description": "All keywords ideas or keywords ideas phrased as questions.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "all",
                "questions"
              ],
              "default": "all"
            },
            "name": "terms",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/keywords-explorer.output_json_php_xml"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/keywords-explorer.matching-terms"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/keywords-explorer.matching-terms"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/keywords-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/keywords-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/keywords-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/keywords-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/keywords-explorer.error_500"
          }
        }
      }
    },
    "/keywords-explorer/related-terms": {
      "get": {
        "tags": [
          "Keywords Explorer"
        ],
        "summary": "Related terms",
        "operationId": "keywords-explorer.related-terms",
        "parameters": [
          {
            "description": "A manual timeout duration in seconds.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "timeout",
            "in": "query"
          },
          {
            "description": "The number of results to return. Max: `150000`.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer",
              "default": 1000
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "A column to order results by. See the response schema for valid column identifiers, except for `volume_monthly`, which is not supported in `order_by` for this endpoint.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "examples": [
                "field_a,field_b:asc,field_c:desc"
              ]
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the `select` parameter).\n\n**cpc**: Cost Per Click shows the average price that advertisers pay for each ad click in paid search results for a keyword, in USD cents.  \ntype: integer nullable\n\n**cps**: Clicks Per Search (or CPS) is the ratio of Clicks to Keyword Search volume. It shows how many different search results get clicked, on average, when people search for the target keyword in a given country.  \ntype: float nullable\n\n**difficulty** (10 units): An estimation of how hard it is to rank in the top 10 organic search results for a keyword on a 100-point scale.  \ntype: integer nullable\n\n**first_seen**: The date when we first checked search engine results for a keyword.  \ntype: datetime nullable\n\n**global_volume** (10 units): How many times per month, on average, people search for the target keyword across all countries in our database.  \ntype: integer nullable\n\n**intents.branded**:   \ntype: boolean nullable\n\n**intents.commercial**:   \ntype: boolean nullable\n\n**intents.informational**:   \ntype: boolean nullable\n\n**intents.local**:   \ntype: boolean nullable\n\n**intents.navigational**:   \ntype: boolean nullable\n\n**intents.transactional**:   \ntype: boolean nullable\n\n**keyword**:   \ntype: string\n\n**parent_topic**: Parent Topic determines if you can rank for your target keyword while targeting a more general topic on your page instead. To identify the Parent Topic, we take the #1 ranking page for your keyword and find the keyword responsible for sending the most traffic to that page.  \ntype: string nullable\n\n**serp_domain_rating_top10_min**: The keyword must have at least one ranking position in the top 10 results with a DR of up to this value.  \ntype: float nullable\n\n**serp_domain_rating_top5_min**: The keyword must have at least one ranking position in the top 5 results with a DR of up to this value.  \ntype: float nullable\n\n**serp_features**: The enriched results on a search engine results page (SERP) that are not traditional organic results.  \ntype: array(string)  \nenum: `\"ai_overview_sitelink\"` `\"snippet\"` `\"ai_overview\"` `\"local_pack\"` `\"sitelink\"` `\"news\"` `\"image\"` `\"video\"` `\"discussion\"` `\"tweet\"` `\"paid_top\"` `\"paid_bottom\"` `\"paid_sitelink\"` `\"shopping\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"question\"` `\"image_th\"` `\"video_th\"` `\"organic_shopping\"`\n\n**serp_last_update**: The date when we last checked search engine results for a keyword.  \ntype: datetime nullable\n\n**traffic_potential** (10 units): The sum of organic traffic that the #1 ranking page for your target keyword receives from all the keywords that it ranks for.  \ntype: integer nullable\n\n**volume** (10 units): An estimation of the average monthly number of searches for a keyword over the latest known 12 months of data.  \ntype: integer nullable\n\n**volume_desktop_pct**: The percentage of searches for a keyword performed on desktop devices.  \ntype: float nullable\n\n**volume_mobile_pct**: The percentage of searches for a keyword performed on mobile devices.  \ntype: float nullable\n\n**word_count**:   \ntype: integer",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "select",
            "in": "query"
          },
          {
            "description": "A two-letter country code (ISO 3166-1 alpha-2).",
            "required": true,
            "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"
              ]
            },
            "name": "country",
            "in": "query"
          },
          {
            "description": "A comma-separated list of keywords to show metrics for.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "keywords",
            "in": "query"
          },
          {
            "description": "The id of an existing keyword list to show metrics for.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "keyword_list_id",
            "in": "query"
          },
          {
            "description": "View keywords for the top 10 or top 100 ranking pages.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "top_10",
                "top_100"
              ],
              "default": "top_10"
            },
            "name": "view_for",
            "in": "query"
          },
          {
            "description": "Related keywords which top-ranking pages also rank for (`also_rank_for`), additional keywords frequently mentioned in top-ranking pages (`also_talk_about`), or combination of both (`all`).",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "also_rank_for",
                "also_talk_about",
                "all"
              ],
              "default": "all"
            },
            "name": "terms",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/keywords-explorer.output_json_php_xml"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/keywords-explorer.related-terms"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/keywords-explorer.related-terms"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/keywords-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/keywords-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/keywords-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/keywords-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/keywords-explorer.error_500"
          }
        }
      }
    },
    "/keywords-explorer/search-suggestions": {
      "get": {
        "tags": [
          "Keywords Explorer"
        ],
        "summary": "Search suggestions",
        "operationId": "keywords-explorer.search-suggestions",
        "parameters": [
          {
            "description": "A manual timeout duration in seconds.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "timeout",
            "in": "query"
          },
          {
            "description": "The number of results to return. Max: `150000`.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer",
              "default": 1000
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "A column to order results by. See the response schema for valid column identifiers, except for `volume_monthly`, which is not supported in `order_by` for this endpoint.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "examples": [
                "field_a,field_b:asc,field_c:desc"
              ]
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the `select` parameter).\n\n**cpc**: Cost Per Click shows the average price that advertisers pay for each ad click in paid search results for a keyword, in USD cents.  \ntype: integer nullable\n\n**cps**: Clicks Per Search (or CPS) is the ratio of Clicks to Keyword Search volume. It shows how many different search results get clicked, on average, when people search for the target keyword in a given country.  \ntype: float nullable\n\n**difficulty** (10 units): An estimation of how hard it is to rank in the top 10 organic search results for a keyword on a 100-point scale.  \ntype: integer nullable\n\n**first_seen**: The date when we first checked search engine results for a keyword.  \ntype: datetime nullable\n\n**global_volume** (10 units): How many times per month, on average, people search for the target keyword across all countries in our database.  \ntype: integer nullable\n\n**intents.branded**:   \ntype: boolean nullable\n\n**intents.commercial**:   \ntype: boolean nullable\n\n**intents.informational**:   \ntype: boolean nullable\n\n**intents.local**:   \ntype: boolean nullable\n\n**intents.navigational**:   \ntype: boolean nullable\n\n**intents.transactional**:   \ntype: boolean nullable\n\n**keyword**:   \ntype: string\n\n**parent_topic**: Parent Topic determines if you can rank for your target keyword while targeting a more general topic on your page instead. To identify the Parent Topic, we take the #1 ranking page for your keyword and find the keyword responsible for sending the most traffic to that page.  \ntype: string nullable\n\n**serp_domain_rating_top10_min**: The keyword must have at least one ranking position in the top 10 results with a DR of up to this value.  \ntype: float nullable\n\n**serp_domain_rating_top5_min**: The keyword must have at least one ranking position in the top 5 results with a DR of up to this value.  \ntype: float nullable\n\n**serp_features**: The enriched results on a search engine results page (SERP) that are not traditional organic results.  \ntype: array(string)  \nenum: `\"ai_overview_sitelink\"` `\"snippet\"` `\"ai_overview\"` `\"local_pack\"` `\"sitelink\"` `\"news\"` `\"image\"` `\"video\"` `\"discussion\"` `\"tweet\"` `\"paid_top\"` `\"paid_bottom\"` `\"paid_sitelink\"` `\"shopping\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"question\"` `\"image_th\"` `\"video_th\"` `\"organic_shopping\"`\n\n**serp_last_update**: The date when we last checked search engine results for a keyword.  \ntype: datetime nullable\n\n**traffic_potential** (10 units): The sum of organic traffic that the #1 ranking page for your target keyword receives from all the keywords that it ranks for.  \ntype: integer nullable\n\n**volume** (10 units): An estimation of the average monthly number of searches for a keyword over the latest known 12 months of data.  \ntype: integer nullable\n\n**volume_desktop_pct**: The percentage of searches for a keyword performed on desktop devices.  \ntype: float nullable\n\n**volume_mobile_pct**: The percentage of searches for a keyword performed on mobile devices.  \ntype: float nullable\n\n**word_count**:   \ntype: integer",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "select",
            "in": "query"
          },
          {
            "description": "A two-letter country code (ISO 3166-1 alpha-2).",
            "required": true,
            "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"
              ]
            },
            "name": "country",
            "in": "query"
          },
          {
            "description": "A comma-separated list of keywords to show metrics for.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "keywords",
            "in": "query"
          },
          {
            "description": "The id of an existing keyword list to show metrics for.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "keyword_list_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/keywords-explorer.output_json_php_xml"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/keywords-explorer.search-suggestions"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/keywords-explorer.search-suggestions"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/keywords-explorer.error_400"
          },
          "401": {
            "$ref": "#/components/responses/keywords-explorer.error_401"
          },
          "403": {
            "$ref": "#/components/responses/keywords-explorer.error_403"
          },
          "429": {
            "$ref": "#/components/responses/keywords-explorer.error_429"
          },
          "500": {
            "$ref": "#/components/responses/keywords-explorer.error_500"
          }
        }
      }
    },
    "/site-audit/projects": {
      "get": {
        "tags": [
          "Site Audit"
        ],
        "summary": "Project Health Scores",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "site-audit.projects",
        "parameters": [
          {
            "description": "Filters projects by target URL (ignores protocol and trailing slash).",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "project_url",
            "in": "query"
          },
          {
            "description": "Filters projects by name.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "project_name",
            "in": "query"
          },
          {
            "description": "A timestamp in `YYYY-MM-DDThh:mm:ss` format specifying the crawl date to retrieve metrics from. Defaults to the most recent available crawl if omitted. For scheduled crawls, we return data from the latest crawl finished before the specified timestamp. For Always-on audit crawls, we return data as of the provided date and time. If the time component is omitted, it defaults to `00:00:00`. The timestamp is interpreted in UTC.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "date",
            "in": "query"
          },
          {
            "description": "The unique identifier of the project. You can find it in the URL of your Site Audit project in Ahrefs: `https://app.ahrefs.com/site-audit/#project_id#`",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-audit.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-audit.projects"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-audit.projects"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-audit.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-audit.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-audit.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-audit.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-audit.error_500"
          }
        }
      }
    },
    "/site-audit/page-content": {
      "get": {
        "tags": [
          "Site Audit"
        ],
        "summary": "Page content",
        "description": ">This endpoint consumes a fixed cost of 50 API units per request.",
        "operationId": "site-audit.page-content",
        "parameters": [
          {
            "description": "A comma-separated list of fields to return.\n\n- `crawl_datetime`\n- `page_text`\n- `page_text_md`\n- `raw_html`\n- `rendered_html`",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "select",
            "in": "query"
          },
          {
            "description": "A timestamp in `YYYY-MM-DDThh:mm:ss` format specifying the crawl date to retrieve metrics from. Defaults to the most recent available crawl if omitted. For scheduled crawls, we return data from the latest crawl finished before the specified timestamp. For Always-on audit crawls, we return data as of the provided date and time. If the time component is omitted, it defaults to `00:00:00`. The timestamp is interpreted in UTC.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "date",
            "in": "query"
          },
          {
            "description": "The URL of the page to retrieve content for.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "target_url",
            "in": "query"
          },
          {
            "description": "The unique identifier of the project. Only projects with verified ownership are supported. You can find the project ID in the URL of your Site Audit project in Ahrefs: `https://app.ahrefs.com/site-audit/#project_id#`",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-audit.output_json_php"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-audit.page-content"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-audit.page-content"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-audit.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-audit.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-audit.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-audit.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-audit.error_500"
          }
        }
      }
    },
    "/site-audit/issues": {
      "get": {
        "tags": [
          "Site Audit"
        ],
        "summary": "Project Issues",
        "description": ">This endpoint consumes a fixed cost of 50 API units per request.",
        "operationId": "site-audit.issues",
        "parameters": [
          {
            "description": "A timestamp in `YYYY-MM-DDThh:mm:ss` format specifying the crawl date to compare metrics with. Follows the same rules as the `date` field.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "date_compared",
            "in": "query"
          },
          {
            "description": "A timestamp in `YYYY-MM-DDThh:mm:ss` format specifying the crawl date to retrieve metrics from. Defaults to the most recent available crawl if omitted. For scheduled crawls, we return data from the latest crawl finished before the specified timestamp. For Always-on audit crawls, we return data as of the provided date and time. If the time component is omitted, it defaults to `00:00:00`. The timestamp is interpreted in UTC.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "date",
            "in": "query"
          },
          {
            "description": "The unique identifier of the project. You can find it in the URL of your Site Audit project in Ahrefs: `https://app.ahrefs.com/site-audit/#project_id#`",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-audit.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-audit.issues"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-audit.issues"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-audit.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-audit.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-audit.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-audit.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-audit.error_500"
          }
        }
      }
    },
    "/site-audit/page-explorer": {
      "get": {
        "tags": [
          "Site Audit"
        ],
        "summary": "Page explorer",
        "description": ">This endpoint consumes a fixed cost of 50 API units per request.",
        "operationId": "site-audit.page-explorer",
        "parameters": [
          {
            "description": "A manual timeout duration in seconds.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "timeout",
            "in": "query"
          },
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer",
              "default": 1000
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "The number of results to skip.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "offset",
            "in": "query"
          },
          {
            "description": "A field to order the results by, with optional direction. Format: `field_name:asc` or `field_name:desc` (default `desc`).\n\n- `ai_content_level`\n- `ai_content_level_prev`\n- `ai_content_status`\n- `ai_content_status_prev`\n- `allowed_search_bots`\n- `allowed_search_bots_prev`\n- `allowed_training_bots`\n- `allowed_training_bots_prev`\n- `alternate`\n- `alternate_diff`\n- `alternate_prev`\n- `backlinks`\n- `backlinks_diff`\n- `backlinks_prev`\n- `blocked_search_bots`\n- `blocked_search_bots_prev`\n- `blocked_training_bots`\n- `blocked_training_bots_prev`\n- `canonical`\n- `canonical_code`\n- `canonical_code_prev`\n- `canonical_counts`\n- `canonical_counts_diff`\n- `canonical_counts_prev`\n- `canonical_group_hash`\n- `canonical_group_hash_prev`\n- `canonical_is_canonical`\n- `canonical_is_canonical_prev`\n- `canonical_no_crawl_reason`\n- `canonical_no_crawl_reason_prev`\n- `canonical_prev`\n- `canonical_scheme`\n- `canonical_scheme_prev`\n- `compliant`\n- `compliant_prev`\n- `compression`\n- `compression_prev`\n- `content_encoding`\n- `content_encoding_prev`\n- `content_length`\n- `content_length_diff`\n- `content_length_prev`\n- `content_nr_word`\n- `content_nr_word_diff`\n- `content_nr_word_prev`\n- `content_type`\n- `content_type_prev`\n- `css_no_crawl_reason`\n- `css_no_crawl_reason_prev`\n- `curl_code`\n- `curl_code_prev`\n- `depth`\n- `depth_diff`\n- `depth_prev`\n- `dofollow`\n- `dofollow_diff`\n- `dofollow_prev`\n- `domain`\n- `duplicate_content`\n- `duplicate_content_canonical_hreflang`\n- `duplicate_content_canonical_hreflang_diff`\n- `duplicate_content_canonical_hreflang_prev`\n- `duplicate_content_diff`\n- `duplicate_content_prev`\n- `duplicate_description`\n- `duplicate_description_canonical_hreflang`\n- `duplicate_description_canonical_hreflang_diff`\n- `duplicate_description_canonical_hreflang_prev`\n- `duplicate_description_diff`\n- `duplicate_description_prev`\n- `duplicate_group_identifier`\n- `duplicate_group_identifier_prev`\n- `duplicate_h1`\n- `duplicate_h1_canonical_hreflang`\n- `duplicate_h1_canonical_hreflang_diff`\n- `duplicate_h1_canonical_hreflang_prev`\n- `duplicate_h1_diff`\n- `duplicate_h1_prev`\n- `duplicate_title`\n- `duplicate_title_canonical_hreflang`\n- `duplicate_title_canonical_hreflang_diff`\n- `duplicate_title_canonical_hreflang_prev`\n- `duplicate_title_diff`\n- `duplicate_title_prev`\n- `edu`\n- `edu_diff`\n- `edu_prev`\n- `external_code`\n- `external_code_prev`\n- `external_link_anchor`\n- `external_link_anchor_prev`\n- `external_link_domain`\n- `external_link_domain_prev`\n- `external_links`\n- `external_links_is_canonical`\n- `external_links_is_canonical_prev`\n- `external_links_prev`\n- `external_no_crawl_reason`\n- `external_no_crawl_reason_prev`\n- `external_scheme`\n- `external_scheme_prev`\n- `final_redirect`\n- `final_redirect_code`\n- `final_redirect_code_prev`\n- `final_redirect_no_crawl_reason`\n- `final_redirect_no_crawl_reason_prev`\n- `final_redirect_prev`\n- `found_in_sitemaps`\n- `found_in_sitemaps_length`\n- `found_in_sitemaps_length_diff`\n- `found_in_sitemaps_length_prev`\n- `found_in_sitemaps_prev`\n- `gov`\n- `gov_diff`\n- `gov_prev`\n- `h1`\n- `h1_length`\n- `h1_length_prev`\n- `h1_prev`\n- `h2`\n- `h2_prev`\n- `hash_content`\n- `hash_content_prev`\n- `hash_descriptions`\n- `hash_descriptions_prev`\n- `hash_h1`\n- `hash_h1_prev`\n- `hash_text`\n- `hash_text_prev`\n- `hash_titles`\n- `hash_titles_prev`\n- `hreflang`\n- `hreflang_code_is_valid`\n- `hreflang_code_is_valid_prev`\n- `hreflang_country`\n- `hreflang_country_prev`\n- `hreflang_group_hash`\n- `hreflang_group_hash_prev`\n- `hreflang_issues`\n- `hreflang_issues_prev`\n- `hreflang_language`\n- `hreflang_language_prev`\n- `hreflang_link`\n- `hreflang_link_is_canonical`\n- `hreflang_link_is_canonical_prev`\n- `hreflang_link_prev`\n- `hreflang_no_crawl_reason`\n- `hreflang_no_crawl_reason_prev`\n- `hreflang_prev`\n- `html_lang`\n- `html_lang_code_is_valid`\n- `html_lang_code_is_valid_prev`\n- `html_lang_country`\n- `html_lang_country_prev`\n- `html_lang_language`\n- `html_lang_language_prev`\n- `html_lang_prev`\n- `http_code`\n- `http_code_prev`\n- `http_header`\n- `http_header_prev`\n- `http_header_robots`\n- `http_header_robots_prev`\n- `http_headers_size`\n- `http_headers_size_prev`\n- `images_no_crawl_reason`\n- `images_no_crawl_reason_prev`\n- `incoming_all_links`\n- `incoming_all_links_diff`\n- `incoming_all_links_prev`\n- `incoming_canonical`\n- `incoming_canonical_prev`\n- `incoming_css`\n- `incoming_css_prev`\n- `incoming_follow`\n- `incoming_follow_prev`\n- `incoming_hreflang`\n- `incoming_hreflang_prev`\n- `incoming_image`\n- `incoming_image_prev`\n- `incoming_js`\n- `incoming_js_prev`\n- `incoming_links`\n- `incoming_links_prev`\n- `incoming_nofollow`\n- `incoming_nofollow_prev`\n- `incoming_pagination`\n- `incoming_pagination_prev`\n- `incoming_redirect`\n- `incoming_redirect_prev`\n- `indexnow_error`\n- `indexnow_error_prev`\n- `indexnow_reason`\n- `indexnow_reason_prev`\n- `indexnow_status`\n- `indexnow_status_prev`\n- `indexnow_submitted_at`\n- `internal`\n- `internal_code`\n- `internal_code_prev`\n- `internal_link_anchor`\n- `internal_link_anchor_prev`\n- `internal_link_domain`\n- `internal_link_domain_prev`\n- `internal_links`\n- `internal_links_is_canonical`\n- `internal_links_is_canonical_prev`\n- `internal_links_prev`\n- `internal_no_crawl_reason`\n- `internal_no_crawl_reason_prev`\n- `internal_scheme`\n- `internal_scheme_prev`\n- `is_html`\n- `is_html_prev`\n- `is_in_sitemap`\n- `is_in_sitemap_prev`\n- `is_page_title_used_in_serp`\n- `is_redirect_loop`\n- `is_redirect_loop_prev`\n- `is_rendered`\n- `is_rendered_prev`\n- `is_valid_internal_html`\n- `is_valid_internal_html_prev`\n- `js_no_crawl_reason`\n- `js_no_crawl_reason_prev`\n- `jsonld_schema_types`\n- `jsonld_schema_types_prev`\n- `jsonld_validation_kinds`\n- `jsonld_validation_kinds_prev`\n- `keywords`\n- `keywords_prev`\n- `length`\n- `links_count_css`\n- `links_count_css_prev`\n- `links_count_external`\n- `links_count_external3xx`\n- `links_count_external3xx_prev`\n- `links_count_external4xx`\n- `links_count_external4xx_prev`\n- `links_count_external5xx`\n- `links_count_external5xx_prev`\n- `links_count_external_follow`\n- `links_count_external_follow_prev`\n- `links_count_external_nofollow`\n- `links_count_external_nofollow_prev`\n- `links_count_external_non_canonical`\n- `links_count_external_non_canonical_prev`\n- `links_count_external_xxx`\n- `links_count_external_xxx_prev`\n- `links_count_images`\n- `links_count_images_prev`\n- `links_count_images_with_alt`\n- `links_count_images_with_alt_prev`\n- `links_count_images_without_alt`\n- `links_count_images_without_alt_prev`\n- `links_count_internal`\n- `links_count_internal3xx`\n- `links_count_internal3xx_prev`\n- `links_count_internal4xx`\n- `links_count_internal4xx_prev`\n- `links_count_internal5xx`\n- `links_count_internal5xx_prev`\n- `links_count_internal_follow`\n- `links_count_internal_follow_prev`\n- `links_count_internal_nofollow`\n- `links_count_internal_nofollow_prev`\n- `links_count_internal_non_canonical`\n- `links_count_internal_non_canonical_prev`\n- `links_count_internal_xxx`\n- `links_count_internal_xxx_prev`\n- `links_count_js`\n- `links_count_js_prev`\n- `links_css`\n- `links_css_code`\n- `links_css_code_prev`\n- `links_css_domain`\n- `links_css_domain_prev`\n- `links_css_prev`\n- `links_css_scheme`\n- `links_css_scheme_prev`\n- `links_external3xx`\n- `links_external3xx_code`\n- `links_external3xx_code_prev`\n- `links_external3xx_prev`\n- `links_external4xx`\n- `links_external4xx_code`\n- `links_external4xx_code_prev`\n- `links_external4xx_prev`\n- `links_external5xx`\n- `links_external5xx_code`\n- `links_external5xx_code_prev`\n- `links_external5xx_prev`\n- `links_external_follow`\n- `links_external_follow_code`\n- `links_external_follow_code_prev`\n- `links_external_follow_prev`\n- `links_external_nofollow`\n- `links_external_nofollow_code`\n- `links_external_nofollow_code_prev`\n- `links_external_nofollow_prev`\n- `links_external_non_canonical`\n- `links_external_non_canonical_code`\n- `links_external_non_canonical_code_prev`\n- `links_external_non_canonical_prev`\n- `links_external_xxx`\n- `links_external_xxx_code`\n- `links_external_xxx_code_prev`\n- `links_external_xxx_prev`\n- `links_hreflang_code`\n- `links_hreflang_code_prev`\n- `links_images`\n- `links_images_alt`\n- `links_images_alt_prev`\n- `links_images_code`\n- `links_images_code_prev`\n- `links_images_domain`\n- `links_images_domain_prev`\n- `links_images_prev`\n- `links_images_scheme`\n- `links_images_scheme_prev`\n- `links_images_with_alt`\n- `links_images_with_alt_code`\n- `links_images_with_alt_code_prev`\n- `links_images_with_alt_prev`\n- `links_images_without_alt`\n- `links_images_without_alt_code`\n- `links_images_without_alt_code_prev`\n- `links_images_without_alt_prev`\n- `links_internal3xx`\n- `links_internal3xx_code`\n- `links_internal3xx_code_prev`\n- `links_internal3xx_prev`\n- `links_internal4xx`\n- `links_internal4xx_code`\n- `links_internal4xx_code_prev`\n- `links_internal4xx_prev`\n- `links_internal5xx`\n- `links_internal5xx_code`\n- `links_internal5xx_code_prev`\n- `links_internal5xx_prev`\n- `links_internal_follow`\n- `links_internal_follow_code`\n- `links_internal_follow_code_prev`\n- `links_internal_follow_prev`\n- `links_internal_nofollow`\n- `links_internal_nofollow_code`\n- `links_internal_nofollow_code_prev`\n- `links_internal_nofollow_prev`\n- `links_internal_non_canonical`\n- `links_internal_non_canonical_code`\n- `links_internal_non_canonical_code_prev`\n- `links_internal_non_canonical_prev`\n- `links_internal_xxx`\n- `links_internal_xxx_code`\n- `links_internal_xxx_code_prev`\n- `links_internal_xxx_prev`\n- `links_js`\n- `links_js_code`\n- `links_js_code_prev`\n- `links_js_domain`\n- `links_js_domain_prev`\n- `links_js_prev`\n- `links_js_scheme`\n- `links_js_scheme_prev`\n- `loading_time`\n- `loading_time_diff`\n- `loading_time_prev`\n- `meta_description`\n- `meta_description_length`\n- `meta_description_length_prev`\n- `meta_description_prev`\n- `meta_refresh`\n- `meta_refresh_prev`\n- `meta_robots`\n- `meta_robots_prev`\n- `meta_twitter_tags_app_google_play`\n- `meta_twitter_tags_app_google_play_prev`\n- `meta_twitter_tags_app_ipad`\n- `meta_twitter_tags_app_ipad_prev`\n- `meta_twitter_tags_app_iphone`\n- `meta_twitter_tags_app_iphone_prev`\n- `meta_twitter_tags_attributes`\n- `meta_twitter_tags_attributes_prev`\n- `meta_twitter_tags_card`\n- `meta_twitter_tags_card_prev`\n- `meta_twitter_tags_description`\n- `meta_twitter_tags_description_prev`\n- `meta_twitter_tags_image`\n- `meta_twitter_tags_image_prev`\n- `meta_twitter_tags_image_url_invalid`\n- `meta_twitter_tags_image_url_invalid_prev`\n- `meta_twitter_tags_player`\n- `meta_twitter_tags_player_height`\n- `meta_twitter_tags_player_height_prev`\n- `meta_twitter_tags_player_prev`\n- `meta_twitter_tags_player_width`\n- `meta_twitter_tags_player_width_diff`\n- `meta_twitter_tags_player_width_prev`\n- `meta_twitter_tags_site`\n- `meta_twitter_tags_site_prev`\n- `meta_twitter_tags_title`\n- `meta_twitter_tags_title_prev`\n- `meta_twitter_tags_valid`\n- `meta_twitter_tags_valid_prev`\n- `meta_twitter_tags_values`\n- `meta_twitter_tags_values_prev`\n- `navigation_next`\n- `navigation_next_code`\n- `navigation_next_code_prev`\n- `navigation_next_no_crawl_reason`\n- `navigation_next_no_crawl_reason_prev`\n- `navigation_next_prev`\n- `navigation_prev`\n- `navigation_prev_code`\n- `navigation_prev_code_prev`\n- `navigation_prev_no_crawl_reason`\n- `navigation_prev_no_crawl_reason_prev`\n- `navigation_prev_prev`\n- `nofollow`\n- `nofollow_diff`\n- `nofollow_prev`\n- `nr_h1`\n- `nr_h1_diff`\n- `nr_h1_prev`\n- `nr_meta_description`\n- `nr_meta_description_diff`\n- `nr_meta_description_prev`\n- `nr_redirect_chain_urls`\n- `nr_redirect_chain_urls_diff`\n- `nr_redirect_chain_urls_prev`\n- `nr_titles`\n- `nr_titles_diff`\n- `nr_titles_prev`\n- `og_tags_attributes`\n- `og_tags_attributes_prev`\n- `og_tags_image`\n- `og_tags_image_prev`\n- `og_tags_image_url_invalid`\n- `og_tags_image_url_invalid_prev`\n- `og_tags_inconsistent_canonical`\n- `og_tags_inconsistent_canonical_prev`\n- `og_tags_title`\n- `og_tags_title_prev`\n- `og_tags_type`\n- `og_tags_type_prev`\n- `og_tags_url`\n- `og_tags_url_prev`\n- `og_tags_url_valid`\n- `og_tags_url_valid_prev`\n- `og_tags_valid`\n- `og_tags_valid_prev`\n- `og_tags_value`\n- `og_tags_value_prev`\n- `origin`\n- `origin_prev`\n- `page_any_content_raw_length`\n- `page_any_content_raw_length_diff`\n- `page_any_content_raw_length_prev`\n- `page_is_nofollow`\n- `page_is_nofollow_prev`\n- `page_is_noindex`\n- `page_is_noindex_prev`\n- `page_rating`\n- `page_raw_text_length`\n- `page_raw_text_length_diff`\n- `page_raw_text_length_prev`\n- `page_raw_ur`\n- `page_raw_ur_diff`\n- `page_raw_ur_prev`\n- `page_type`\n- `page_type_prev`\n- `pagination_group`\n- `pagination_group_prev`\n- `positions`\n- `positions_diff`\n- `positions_prev`\n- `positions_top10`\n- `positions_top10_diff`\n- `positions_top10_prev`\n- `positions_top3`\n- `positions_top3_diff`\n- `positions_top3_prev`\n- `psi_crux_cls_category`\n- `psi_crux_cls_category_prev`\n- `psi_crux_cls_distributions_proportion`\n- `psi_crux_cls_distributions_proportion_prev`\n- `psi_crux_cls_percentile`\n- `psi_crux_cls_percentile_diff`\n- `psi_crux_cls_percentile_prev`\n- `psi_crux_fid_category`\n- `psi_crux_fid_category_prev`\n- `psi_crux_fid_distributions_proportion`\n- `psi_crux_fid_distributions_proportion_prev`\n- `psi_crux_fid_percentile`\n- `psi_crux_fid_percentile_prev`\n- `psi_crux_inp_category`\n- `psi_crux_inp_category_prev`\n- `psi_crux_inp_distributions_proportion`\n- `psi_crux_inp_distributions_proportion_prev`\n- `psi_crux_inp_percentile`\n- `psi_crux_inp_percentile_diff`\n- `psi_crux_inp_percentile_prev`\n- `psi_crux_lcp_category`\n- `psi_crux_lcp_category_prev`\n- `psi_crux_lcp_distributions_proportion`\n- `psi_crux_lcp_distributions_proportion_prev`\n- `psi_crux_lcp_percentile`\n- `psi_crux_lcp_percentile_diff`\n- `psi_crux_lcp_percentile_prev`\n- `psi_lighthouse_cls_error_message`\n- `psi_lighthouse_cls_error_message_prev`\n- `psi_lighthouse_cls_value`\n- `psi_lighthouse_cls_value_diff`\n- `psi_lighthouse_cls_value_prev`\n- `psi_lighthouse_lcp_error_message`\n- `psi_lighthouse_lcp_error_message_prev`\n- `psi_lighthouse_lcp_value`\n- `psi_lighthouse_lcp_value_diff`\n- `psi_lighthouse_lcp_value_prev`\n- `psi_lighthouse_score`\n- `psi_lighthouse_score_prev`\n- `psi_lighthouse_tbt_error_message`\n- `psi_lighthouse_tbt_error_message_prev`\n- `psi_lighthouse_tbt_value`\n- `psi_lighthouse_tbt_value_diff`\n- `psi_lighthouse_tbt_value_prev`\n- `psi_mobile_issues`\n- `psi_mobile_issues_explanations`\n- `psi_mobile_issues_explanations_prev`\n- `psi_mobile_issues_prev`\n- `psi_request_error_message`\n- `psi_request_status`\n- `redirect`\n- `redirect_chain_urls`\n- `redirect_chain_urls_code`\n- `redirect_chain_urls_code_prev`\n- `redirect_chain_urls_no_crawl_reason`\n- `redirect_chain_urls_no_crawl_reason_prev`\n- `redirect_chain_urls_prev`\n- `redirect_chain_urls_prev`\n- `redirect_code`\n- `redirect_code_prev`\n- `redirect_counts`\n- `redirect_counts_diff`\n- `redirect_counts_prev`\n- `redirect_is_canonical`\n- `redirect_is_canonical_prev`\n- `redirect_no_crawl_reason`\n- `redirect_no_crawl_reason_prev`\n- `redirect_prev`\n- `redirect_scheme`\n- `redirect_scheme_prev`\n- `refclass_c`\n- `refclass_c_diff`\n- `refclass_c_prev`\n- `refhosts`\n- `refhosts_diff`\n- `refhosts_prev`\n- `refips`\n- `refips_diff`\n- `refips_prev`\n- `refpages`\n- `refpages_diff`\n- `refpages_prev`\n- `robots_error`\n- `robots_error_prev`\n- `robots_sitemaps`\n- `robots_sitemaps_prev`\n- `rss`\n- `rss_diff`\n- `rss_prev`\n- `scheme`\n- `self_canonical`\n- `self_canonical_prev`\n- `self_hreflang`\n- `self_hreflang_code_is_valid`\n- `self_hreflang_code_is_valid_prev`\n- `self_hreflang_country`\n- `self_hreflang_country_prev`\n- `self_hreflang_language`\n- `self_hreflang_language_prev`\n- `self_hreflang_prev`\n- `serp_title`\n- `serp_title_prev`\n- `sitemap_error`\n- `sitemap_error_prev`\n- `sitemap_is_index`\n- `sitemap_is_index_prev`\n- `sitemap_nr_urls`\n- `sitemap_nr_urls_diff`\n- `sitemap_nr_urls_prev`\n- `size`\n- `size_prev`\n- `size_uncompressed`\n- `size_uncompressed_diff`\n- `size_uncompressed_prev`\n- `source`\n- `source_prev`\n- `stamp`\n- `stamp_prev`\n- `time_to_first_byte`\n- `time_to_first_byte_diff`\n- `time_to_first_byte_prev`\n- `title`\n- `title_prev`\n- `titles_length`\n- `titles_length_prev`\n- `top_keyword`\n- `top_keyword_country`\n- `top_keyword_country_prev`\n- `top_keyword_position`\n- `top_keyword_position_diff`\n- `top_keyword_position_prev`\n- `traffic`\n- `traffic_diff`\n- `traffic_prev`\n- `url`",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "A comma-separated list of fields to return.\n\n- `ai_content_level`\n- `ai_content_level_prev`\n- `ai_content_status`\n- `ai_content_status_prev`\n- `allowed_search_bots`\n- `allowed_search_bots_prev`\n- `allowed_training_bots`\n- `allowed_training_bots_prev`\n- `alternate`\n- `alternate_diff`\n- `alternate_prev`\n- `backlinks`\n- `backlinks_diff`\n- `backlinks_prev`\n- `blocked_search_bots`\n- `blocked_search_bots_prev`\n- `blocked_training_bots`\n- `blocked_training_bots_prev`\n- `canonical`\n- `canonical_code`\n- `canonical_code_prev`\n- `canonical_counts`\n- `canonical_counts_diff`\n- `canonical_counts_prev`\n- `canonical_group_hash`\n- `canonical_group_hash_prev`\n- `canonical_is_canonical`\n- `canonical_is_canonical_prev`\n- `canonical_no_crawl_reason`\n- `canonical_no_crawl_reason_prev`\n- `canonical_prev`\n- `canonical_scheme`\n- `canonical_scheme_prev`\n- `compliant`\n- `compliant_prev`\n- `compression`\n- `compression_prev`\n- `content_encoding`\n- `content_encoding_prev`\n- `content_length`\n- `content_length_diff`\n- `content_length_prev`\n- `content_nr_word`\n- `content_nr_word_diff`\n- `content_nr_word_prev`\n- `content_type`\n- `content_type_prev`\n- `css_no_crawl_reason`\n- `css_no_crawl_reason_prev`\n- `curl_code`\n- `curl_code_prev`\n- `depth`\n- `depth_diff`\n- `depth_prev`\n- `dofollow`\n- `dofollow_diff`\n- `dofollow_prev`\n- `domain`\n- `duplicate_content`\n- `duplicate_content_canonical_hreflang`\n- `duplicate_content_canonical_hreflang_diff`\n- `duplicate_content_canonical_hreflang_prev`\n- `duplicate_content_diff`\n- `duplicate_content_prev`\n- `duplicate_description`\n- `duplicate_description_canonical_hreflang`\n- `duplicate_description_canonical_hreflang_diff`\n- `duplicate_description_canonical_hreflang_prev`\n- `duplicate_description_diff`\n- `duplicate_description_prev`\n- `duplicate_group_identifier`\n- `duplicate_group_identifier_prev`\n- `duplicate_h1`\n- `duplicate_h1_canonical_hreflang`\n- `duplicate_h1_canonical_hreflang_diff`\n- `duplicate_h1_canonical_hreflang_prev`\n- `duplicate_h1_diff`\n- `duplicate_h1_prev`\n- `duplicate_title`\n- `duplicate_title_canonical_hreflang`\n- `duplicate_title_canonical_hreflang_diff`\n- `duplicate_title_canonical_hreflang_prev`\n- `duplicate_title_diff`\n- `duplicate_title_prev`\n- `edu`\n- `edu_diff`\n- `edu_prev`\n- `external_code`\n- `external_code_prev`\n- `external_link_anchor`\n- `external_link_anchor_prev`\n- `external_link_domain`\n- `external_link_domain_prev`\n- `external_links`\n- `external_links_is_canonical`\n- `external_links_is_canonical_prev`\n- `external_links_prev`\n- `external_no_crawl_reason`\n- `external_no_crawl_reason_prev`\n- `external_scheme`\n- `external_scheme_prev`\n- `final_redirect`\n- `final_redirect_code`\n- `final_redirect_code_prev`\n- `final_redirect_no_crawl_reason`\n- `final_redirect_no_crawl_reason_prev`\n- `final_redirect_prev`\n- `found_in_sitemaps`\n- `found_in_sitemaps_length`\n- `found_in_sitemaps_length_diff`\n- `found_in_sitemaps_length_prev`\n- `found_in_sitemaps_prev`\n- `gov`\n- `gov_diff`\n- `gov_prev`\n- `h1`\n- `h1_length`\n- `h1_length_prev`\n- `h1_prev`\n- `h2`\n- `h2_prev`\n- `hash_content`\n- `hash_content_prev`\n- `hash_descriptions`\n- `hash_descriptions_prev`\n- `hash_h1`\n- `hash_h1_prev`\n- `hash_text`\n- `hash_text_prev`\n- `hash_titles`\n- `hash_titles_prev`\n- `hreflang`\n- `hreflang_code_is_valid`\n- `hreflang_code_is_valid_prev`\n- `hreflang_country`\n- `hreflang_country_prev`\n- `hreflang_group_hash`\n- `hreflang_group_hash_prev`\n- `hreflang_issues`\n- `hreflang_issues_prev`\n- `hreflang_language`\n- `hreflang_language_prev`\n- `hreflang_link`\n- `hreflang_link_is_canonical`\n- `hreflang_link_is_canonical_prev`\n- `hreflang_link_prev`\n- `hreflang_no_crawl_reason`\n- `hreflang_no_crawl_reason_prev`\n- `hreflang_prev`\n- `html_lang`\n- `html_lang_code_is_valid`\n- `html_lang_code_is_valid_prev`\n- `html_lang_country`\n- `html_lang_country_prev`\n- `html_lang_language`\n- `html_lang_language_prev`\n- `html_lang_prev`\n- `http_code`\n- `http_code_prev`\n- `http_header`\n- `http_header_prev`\n- `http_header_robots`\n- `http_header_robots_prev`\n- `http_headers_size`\n- `http_headers_size_prev`\n- `images_no_crawl_reason`\n- `images_no_crawl_reason_prev`\n- `incoming_all_links`\n- `incoming_all_links_diff`\n- `incoming_all_links_prev`\n- `incoming_canonical`\n- `incoming_canonical_prev`\n- `incoming_css`\n- `incoming_css_prev`\n- `incoming_follow`\n- `incoming_follow_prev`\n- `incoming_hreflang`\n- `incoming_hreflang_prev`\n- `incoming_image`\n- `incoming_image_prev`\n- `incoming_js`\n- `incoming_js_prev`\n- `incoming_links`\n- `incoming_links_prev`\n- `incoming_nofollow`\n- `incoming_nofollow_prev`\n- `incoming_pagination`\n- `incoming_pagination_prev`\n- `incoming_redirect`\n- `incoming_redirect_prev`\n- `indexnow_error`\n- `indexnow_error_prev`\n- `indexnow_reason`\n- `indexnow_reason_prev`\n- `indexnow_status`\n- `indexnow_status_prev`\n- `indexnow_submitted_at`\n- `internal`\n- `internal_code`\n- `internal_code_prev`\n- `internal_link_anchor`\n- `internal_link_anchor_prev`\n- `internal_link_domain`\n- `internal_link_domain_prev`\n- `internal_links`\n- `internal_links_is_canonical`\n- `internal_links_is_canonical_prev`\n- `internal_links_prev`\n- `internal_no_crawl_reason`\n- `internal_no_crawl_reason_prev`\n- `internal_scheme`\n- `internal_scheme_prev`\n- `is_html`\n- `is_html_prev`\n- `is_in_sitemap`\n- `is_in_sitemap_prev`\n- `is_page_title_used_in_serp`\n- `is_redirect_loop`\n- `is_redirect_loop_prev`\n- `is_rendered`\n- `is_rendered_prev`\n- `is_valid_internal_html`\n- `is_valid_internal_html_prev`\n- `js_no_crawl_reason`\n- `js_no_crawl_reason_prev`\n- `jsonld_schema_types`\n- `jsonld_schema_types_prev`\n- `jsonld_validation_kinds`\n- `jsonld_validation_kinds_prev`\n- `keywords`\n- `keywords_prev`\n- `length`\n- `links_count_css`\n- `links_count_css_prev`\n- `links_count_external`\n- `links_count_external3xx`\n- `links_count_external3xx_prev`\n- `links_count_external4xx`\n- `links_count_external4xx_prev`\n- `links_count_external5xx`\n- `links_count_external5xx_prev`\n- `links_count_external_follow`\n- `links_count_external_follow_prev`\n- `links_count_external_nofollow`\n- `links_count_external_nofollow_prev`\n- `links_count_external_non_canonical`\n- `links_count_external_non_canonical_prev`\n- `links_count_external_xxx`\n- `links_count_external_xxx_prev`\n- `links_count_images`\n- `links_count_images_prev`\n- `links_count_images_with_alt`\n- `links_count_images_with_alt_prev`\n- `links_count_images_without_alt`\n- `links_count_images_without_alt_prev`\n- `links_count_internal`\n- `links_count_internal3xx`\n- `links_count_internal3xx_prev`\n- `links_count_internal4xx`\n- `links_count_internal4xx_prev`\n- `links_count_internal5xx`\n- `links_count_internal5xx_prev`\n- `links_count_internal_follow`\n- `links_count_internal_follow_prev`\n- `links_count_internal_nofollow`\n- `links_count_internal_nofollow_prev`\n- `links_count_internal_non_canonical`\n- `links_count_internal_non_canonical_prev`\n- `links_count_internal_xxx`\n- `links_count_internal_xxx_prev`\n- `links_count_js`\n- `links_count_js_prev`\n- `links_css`\n- `links_css_code`\n- `links_css_code_prev`\n- `links_css_domain`\n- `links_css_domain_prev`\n- `links_css_prev`\n- `links_css_scheme`\n- `links_css_scheme_prev`\n- `links_external3xx`\n- `links_external3xx_code`\n- `links_external3xx_code_prev`\n- `links_external3xx_prev`\n- `links_external4xx`\n- `links_external4xx_code`\n- `links_external4xx_code_prev`\n- `links_external4xx_prev`\n- `links_external5xx`\n- `links_external5xx_code`\n- `links_external5xx_code_prev`\n- `links_external5xx_prev`\n- `links_external_follow`\n- `links_external_follow_code`\n- `links_external_follow_code_prev`\n- `links_external_follow_prev`\n- `links_external_nofollow`\n- `links_external_nofollow_code`\n- `links_external_nofollow_code_prev`\n- `links_external_nofollow_prev`\n- `links_external_non_canonical`\n- `links_external_non_canonical_code`\n- `links_external_non_canonical_code_prev`\n- `links_external_non_canonical_prev`\n- `links_external_xxx`\n- `links_external_xxx_code`\n- `links_external_xxx_code_prev`\n- `links_external_xxx_prev`\n- `links_hreflang_code`\n- `links_hreflang_code_prev`\n- `links_images`\n- `links_images_alt`\n- `links_images_alt_prev`\n- `links_images_code`\n- `links_images_code_prev`\n- `links_images_domain`\n- `links_images_domain_prev`\n- `links_images_prev`\n- `links_images_scheme`\n- `links_images_scheme_prev`\n- `links_images_with_alt`\n- `links_images_with_alt_code`\n- `links_images_with_alt_code_prev`\n- `links_images_with_alt_prev`\n- `links_images_without_alt`\n- `links_images_without_alt_code`\n- `links_images_without_alt_code_prev`\n- `links_images_without_alt_prev`\n- `links_internal3xx`\n- `links_internal3xx_code`\n- `links_internal3xx_code_prev`\n- `links_internal3xx_prev`\n- `links_internal4xx`\n- `links_internal4xx_code`\n- `links_internal4xx_code_prev`\n- `links_internal4xx_prev`\n- `links_internal5xx`\n- `links_internal5xx_code`\n- `links_internal5xx_code_prev`\n- `links_internal5xx_prev`\n- `links_internal_follow`\n- `links_internal_follow_code`\n- `links_internal_follow_code_prev`\n- `links_internal_follow_prev`\n- `links_internal_nofollow`\n- `links_internal_nofollow_code`\n- `links_internal_nofollow_code_prev`\n- `links_internal_nofollow_prev`\n- `links_internal_non_canonical`\n- `links_internal_non_canonical_code`\n- `links_internal_non_canonical_code_prev`\n- `links_internal_non_canonical_prev`\n- `links_internal_xxx`\n- `links_internal_xxx_code`\n- `links_internal_xxx_code_prev`\n- `links_internal_xxx_prev`\n- `links_js`\n- `links_js_code`\n- `links_js_code_prev`\n- `links_js_domain`\n- `links_js_domain_prev`\n- `links_js_prev`\n- `links_js_scheme`\n- `links_js_scheme_prev`\n- `loading_time`\n- `loading_time_diff`\n- `loading_time_prev`\n- `meta_description`\n- `meta_description_length`\n- `meta_description_length_prev`\n- `meta_description_prev`\n- `meta_refresh`\n- `meta_refresh_prev`\n- `meta_robots`\n- `meta_robots_prev`\n- `meta_twitter_tags_app_google_play`\n- `meta_twitter_tags_app_google_play_prev`\n- `meta_twitter_tags_app_ipad`\n- `meta_twitter_tags_app_ipad_prev`\n- `meta_twitter_tags_app_iphone`\n- `meta_twitter_tags_app_iphone_prev`\n- `meta_twitter_tags_attributes`\n- `meta_twitter_tags_attributes_prev`\n- `meta_twitter_tags_card`\n- `meta_twitter_tags_card_prev`\n- `meta_twitter_tags_description`\n- `meta_twitter_tags_description_prev`\n- `meta_twitter_tags_image`\n- `meta_twitter_tags_image_prev`\n- `meta_twitter_tags_image_url_invalid`\n- `meta_twitter_tags_image_url_invalid_prev`\n- `meta_twitter_tags_player`\n- `meta_twitter_tags_player_height`\n- `meta_twitter_tags_player_height_prev`\n- `meta_twitter_tags_player_prev`\n- `meta_twitter_tags_player_width`\n- `meta_twitter_tags_player_width_diff`\n- `meta_twitter_tags_player_width_prev`\n- `meta_twitter_tags_site`\n- `meta_twitter_tags_site_prev`\n- `meta_twitter_tags_title`\n- `meta_twitter_tags_title_prev`\n- `meta_twitter_tags_valid`\n- `meta_twitter_tags_valid_prev`\n- `meta_twitter_tags_values`\n- `meta_twitter_tags_values_prev`\n- `navigation_next`\n- `navigation_next_code`\n- `navigation_next_code_prev`\n- `navigation_next_no_crawl_reason`\n- `navigation_next_no_crawl_reason_prev`\n- `navigation_next_prev`\n- `navigation_prev`\n- `navigation_prev_code`\n- `navigation_prev_code_prev`\n- `navigation_prev_no_crawl_reason`\n- `navigation_prev_no_crawl_reason_prev`\n- `navigation_prev_prev`\n- `nofollow`\n- `nofollow_diff`\n- `nofollow_prev`\n- `nr_h1`\n- `nr_h1_diff`\n- `nr_h1_prev`\n- `nr_meta_description`\n- `nr_meta_description_diff`\n- `nr_meta_description_prev`\n- `nr_redirect_chain_urls`\n- `nr_redirect_chain_urls_diff`\n- `nr_redirect_chain_urls_prev`\n- `nr_titles`\n- `nr_titles_diff`\n- `nr_titles_prev`\n- `og_tags_attributes`\n- `og_tags_attributes_prev`\n- `og_tags_image`\n- `og_tags_image_prev`\n- `og_tags_image_url_invalid`\n- `og_tags_image_url_invalid_prev`\n- `og_tags_inconsistent_canonical`\n- `og_tags_inconsistent_canonical_prev`\n- `og_tags_title`\n- `og_tags_title_prev`\n- `og_tags_type`\n- `og_tags_type_prev`\n- `og_tags_url`\n- `og_tags_url_prev`\n- `og_tags_url_valid`\n- `og_tags_url_valid_prev`\n- `og_tags_valid`\n- `og_tags_valid_prev`\n- `og_tags_value`\n- `og_tags_value_prev`\n- `origin`\n- `origin_prev`\n- `page_any_content_raw_length`\n- `page_any_content_raw_length_diff`\n- `page_any_content_raw_length_prev`\n- `page_is_nofollow`\n- `page_is_nofollow_prev`\n- `page_is_noindex`\n- `page_is_noindex_prev`\n- `page_rating`\n- `page_raw_text_length`\n- `page_raw_text_length_diff`\n- `page_raw_text_length_prev`\n- `page_raw_ur`\n- `page_raw_ur_diff`\n- `page_raw_ur_prev`\n- `page_type`\n- `page_type_prev`\n- `pagination_group`\n- `pagination_group_prev`\n- `positions`\n- `positions_diff`\n- `positions_prev`\n- `positions_top10`\n- `positions_top10_diff`\n- `positions_top10_prev`\n- `positions_top3`\n- `positions_top3_diff`\n- `positions_top3_prev`\n- `psi_crux_cls_category`\n- `psi_crux_cls_category_prev`\n- `psi_crux_cls_distributions_proportion`\n- `psi_crux_cls_distributions_proportion_prev`\n- `psi_crux_cls_percentile`\n- `psi_crux_cls_percentile_diff`\n- `psi_crux_cls_percentile_prev`\n- `psi_crux_fid_category`\n- `psi_crux_fid_category_prev`\n- `psi_crux_fid_distributions_proportion`\n- `psi_crux_fid_distributions_proportion_prev`\n- `psi_crux_fid_percentile`\n- `psi_crux_fid_percentile_prev`\n- `psi_crux_inp_category`\n- `psi_crux_inp_category_prev`\n- `psi_crux_inp_distributions_proportion`\n- `psi_crux_inp_distributions_proportion_prev`\n- `psi_crux_inp_percentile`\n- `psi_crux_inp_percentile_diff`\n- `psi_crux_inp_percentile_prev`\n- `psi_crux_lcp_category`\n- `psi_crux_lcp_category_prev`\n- `psi_crux_lcp_distributions_proportion`\n- `psi_crux_lcp_distributions_proportion_prev`\n- `psi_crux_lcp_percentile`\n- `psi_crux_lcp_percentile_diff`\n- `psi_crux_lcp_percentile_prev`\n- `psi_lighthouse_cls_error_message`\n- `psi_lighthouse_cls_error_message_prev`\n- `psi_lighthouse_cls_value`\n- `psi_lighthouse_cls_value_diff`\n- `psi_lighthouse_cls_value_prev`\n- `psi_lighthouse_lcp_error_message`\n- `psi_lighthouse_lcp_error_message_prev`\n- `psi_lighthouse_lcp_value`\n- `psi_lighthouse_lcp_value_diff`\n- `psi_lighthouse_lcp_value_prev`\n- `psi_lighthouse_score`\n- `psi_lighthouse_score_prev`\n- `psi_lighthouse_tbt_error_message`\n- `psi_lighthouse_tbt_error_message_prev`\n- `psi_lighthouse_tbt_value`\n- `psi_lighthouse_tbt_value_diff`\n- `psi_lighthouse_tbt_value_prev`\n- `psi_mobile_issues`\n- `psi_mobile_issues_explanations`\n- `psi_mobile_issues_explanations_prev`\n- `psi_mobile_issues_prev`\n- `psi_request_error_message`\n- `psi_request_status`\n- `redirect`\n- `redirect_chain_urls`\n- `redirect_chain_urls_code`\n- `redirect_chain_urls_code_prev`\n- `redirect_chain_urls_no_crawl_reason`\n- `redirect_chain_urls_no_crawl_reason_prev`\n- `redirect_chain_urls_prev`\n- `redirect_chain_urls_prev`\n- `redirect_code`\n- `redirect_code_prev`\n- `redirect_counts`\n- `redirect_counts_diff`\n- `redirect_counts_prev`\n- `redirect_is_canonical`\n- `redirect_is_canonical_prev`\n- `redirect_no_crawl_reason`\n- `redirect_no_crawl_reason_prev`\n- `redirect_prev`\n- `redirect_scheme`\n- `redirect_scheme_prev`\n- `refclass_c`\n- `refclass_c_diff`\n- `refclass_c_prev`\n- `refhosts`\n- `refhosts_diff`\n- `refhosts_prev`\n- `refips`\n- `refips_diff`\n- `refips_prev`\n- `refpages`\n- `refpages_diff`\n- `refpages_prev`\n- `robots_error`\n- `robots_error_prev`\n- `robots_sitemaps`\n- `robots_sitemaps_prev`\n- `rss`\n- `rss_diff`\n- `rss_prev`\n- `scheme`\n- `self_canonical`\n- `self_canonical_prev`\n- `self_hreflang`\n- `self_hreflang_code_is_valid`\n- `self_hreflang_code_is_valid_prev`\n- `self_hreflang_country`\n- `self_hreflang_country_prev`\n- `self_hreflang_language`\n- `self_hreflang_language_prev`\n- `self_hreflang_prev`\n- `serp_title`\n- `serp_title_prev`\n- `sitemap_error`\n- `sitemap_error_prev`\n- `sitemap_is_index`\n- `sitemap_is_index_prev`\n- `sitemap_nr_urls`\n- `sitemap_nr_urls_diff`\n- `sitemap_nr_urls_prev`\n- `size`\n- `size_prev`\n- `size_uncompressed`\n- `size_uncompressed_diff`\n- `size_uncompressed_prev`\n- `source`\n- `source_prev`\n- `stamp`\n- `stamp_prev`\n- `time_to_first_byte`\n- `time_to_first_byte_diff`\n- `time_to_first_byte_prev`\n- `title`\n- `title_prev`\n- `titles_length`\n- `titles_length_prev`\n- `top_keyword`\n- `top_keyword_country`\n- `top_keyword_country_prev`\n- `top_keyword_position`\n- `top_keyword_position_diff`\n- `top_keyword_position_prev`\n- `traffic`\n- `traffic_diff`\n- `traffic_prev`\n- `url`",
            "required": false,
            "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**ai_content_level**: The estimated percentage of AI-generated text on the page. Possible values: `None`, `Low`, `Moderate`, `High`, `Very High`  \ntype: string nullable\n\n**ai_content_level_prev**: The estimated percentage of AI-generated text on the page. Possible values: `None`, `Low`, `Moderate`, `High`, `Very High`  \ntype: string nullable\n\n**ai_content_status**: AI detection status for each page. Possible values:\n- `Success`: Content analyzed successfully\n- `Content_too_short`: Not enough text for reliable detection\n- `Not_eligible`: URL isn't an internal HTML page\n- `Failed`: Internal issue prevented detection\n- `Detection_off`: Disabled in Crawl settings  \ntype: string nullable\n\n**ai_content_status_prev**: AI detection status for each page. Possible values:\n- `Success`: Content analyzed successfully\n- `Content_too_short`: Not enough text for reliable detection\n- `Not_eligible`: URL isn't an internal HTML page\n- `Failed`: Internal issue prevented detection\n- `Detection_off`: Disabled in Crawl settings  \ntype: string nullable\n\n**allowed_search_bots**: AI search and assistant bots permitted to crawl this page (not disallowed in robots.txt). These can surface or cite the page in AI search results and live answers  \ntype: array(string)\n\n**allowed_search_bots_prev**: AI search and assistant bots permitted to crawl this page (not disallowed in robots.txt). These can surface or cite the page in AI search results and live answers  \ntype: array(string)\n\n**allowed_training_bots**: AI model-training crawlers permitted to crawl this page (not disallowed in robots.txt). These may use the page's content to train AI models  \ntype: array(string)\n\n**allowed_training_bots_prev**: AI model-training crawlers permitted to crawl this page (not disallowed in robots.txt). These may use the page's content to train AI models  \ntype: array(string)\n\n**alternate**: The number of incoming external links from rel=\"alternate\" attributes on the pages (data from Ahrefs' Site Explorer database)  \ntype: integer nullable\n\n**alternate_diff**: The number of incoming external links from rel=\"alternate\" attributes on the pages (data from Ahrefs' Site Explorer database)  \ntype: integer nullable\n\n**alternate_prev**: The number of incoming external links from rel=\"alternate\" attributes on the pages (data from Ahrefs' Site Explorer database)  \ntype: integer nullable\n\n**backlinks**: The number of incoming external links (both dofollow and nofollow) pointing to the URL (data from Ahrefs' Site Explorer database). Not to be confused with the number of linking pages, as one page can contain multiple backlinks  \ntype: integer nullable\n\n**backlinks_diff**: The number of incoming external links (both dofollow and nofollow) pointing to the URL (data from Ahrefs' Site Explorer database). Not to be confused with the number of linking pages, as one page can contain multiple backlinks  \ntype: integer nullable\n\n**backlinks_prev**: The number of incoming external links (both dofollow and nofollow) pointing to the URL (data from Ahrefs' Site Explorer database). Not to be confused with the number of linking pages, as one page can contain multiple backlinks  \ntype: integer nullable\n\n**blocked_search_bots**: AI search and assistant bots this page disallows in robots.txt. These power citations and live answers in tools like ChatGPT, Google AI Overviews, Perplexity, and Claude - blocking them can keep the page out of AI search results  \ntype: array(string)\n\n**blocked_search_bots_prev**: AI search and assistant bots this page disallows in robots.txt. These power citations and live answers in tools like ChatGPT, Google AI Overviews, Perplexity, and Claude - blocking them can keep the page out of AI search results  \ntype: array(string)\n\n**blocked_training_bots**: AI model-training crawlers this page disallows in robots.txt (e.g. GPTBot, Google-Extended, ClaudeBot). Blocking these keeps the page out of AI training data but doesn't affect its visibility in AI search - it's often an intentional choice  \ntype: array(string)\n\n**blocked_training_bots_prev**: AI model-training crawlers this page disallows in robots.txt (e.g. GPTBot, Google-Extended, ClaudeBot). Blocking these keeps the page out of AI training data but doesn't affect its visibility in AI search - it's often an intentional choice  \ntype: array(string)\n\n**canonical**: The URL of the canonical version of the page  \ntype: url nullable\n\n**canonical_code**: The HTTP status code of the canonical URL  \ntype: integer nullable\n\n**canonical_code_prev**: The HTTP status code of the canonical URL  \ntype: integer nullable\n\n**canonical_counts**: The number of incoming external links from canonical pages pointing to the URL. Not to be confused with the number of linking pages, as one page can contain multiple backlinks  \ntype: integer nullable\n\n**canonical_counts_diff**: The number of incoming external links from canonical pages pointing to the URL. Not to be confused with the number of linking pages, as one page can contain multiple backlinks  \ntype: integer nullable\n\n**canonical_counts_prev**: The number of incoming external links from canonical pages pointing to the URL. Not to be confused with the number of linking pages, as one page can contain multiple backlinks  \ntype: integer nullable\n\n**canonical_group_hash**: The ID of the group of pages that have the same canonical URL  \ntype: integer nullable\n\n**canonical_group_hash_prev**: The ID of the group of pages that have the same canonical URL  \ntype: integer nullable\n\n**canonical_is_canonical**: Indicates whether the target page tags itself as the canonical version to be shown in search results. A page is considered as canonical when it doesn't refer to any other pages as canonical  \ntype: boolean nullable\n\n**canonical_is_canonical_prev**: Indicates whether the target page tags itself as the canonical version to be shown in search results. A page is considered as canonical when it doesn't refer to any other pages as canonical  \ntype: boolean nullable\n\n**canonical_no_crawl_reason**: The reason why the canonical version of the page was not crawled  \ntype: string nullable\n\n**canonical_no_crawl_reason_prev**: The reason why the canonical version of the page was not crawled  \ntype: string nullable\n\n**canonical_prev**: The URL of the canonical version of the page  \ntype: url nullable\n\n**canonical_scheme**: The protocol of the canonical URL  \ntype: string nullable\n\n**canonical_scheme_prev**: The protocol of the canonical URL  \ntype: string nullable\n\n**compliant**: Indicates that the page is indexable. An indexable page is an HTML page returning the 200 HTTP status code that has neither the \"rel=canonical\" tag pointing to a different URL nor the \"noindex\" directive  \ntype: boolean nullable\n\n**compliant_prev**: Indicates that the page is indexable. An indexable page is an HTML page returning the 200 HTTP status code that has neither the \"rel=canonical\" tag pointing to a different URL nor the \"noindex\" directive  \ntype: boolean nullable\n\n**compression**: The data compression scheme  \ntype: string nullable\n\n**compression_prev**: The data compression scheme  \ntype: string nullable\n\n**content_encoding**: The Content-Encoding HTTP response header field  \ntype: string nullable\n\n**content_encoding_prev**: The Content-Encoding HTTP response header field  \ntype: string nullable\n\n**content_length**: The character length of content displayed on the page  \ntype: integer nullable\n\n**content_length_diff**: The character length of content displayed on the page  \ntype: integer nullable\n\n**content_length_prev**: The character length of content displayed on the page  \ntype: integer nullable\n\n**content_nr_word**: The word count of content displayed on the page  \ntype: integer nullable\n\n**content_nr_word_diff**: The word count of content displayed on the page  \ntype: integer nullable\n\n**content_nr_word_prev**: The word count of content displayed on the page  \ntype: integer nullable\n\n**content_type**: The Content-Type HTTP header of the page or resource. You can find the full list of content types [here](https://www.iana.org/assignments/media-types/media-types.xhtml)  \ntype: string nullable\n\n**content_type_prev**: The Content-Type HTTP header of the page or resource. You can find the full list of content types [here](https://www.iana.org/assignments/media-types/media-types.xhtml)  \ntype: string nullable\n\n**css_no_crawl_reason**: The reasons why CSS files linked from the page were not crawled  \ntype: array(string nullable)\n\n**css_no_crawl_reason_prev**: The reasons why CSS files linked from the page were not crawled  \ntype: array(string nullable)\n\n**curl_code**: CURLcode return code. You can find the full list of CURL codes [here](https://curl.haxx.se/libcurl/c/libcurl-errors.html)  \ntype: integer\n\n**curl_code_prev**: CURLcode return code. You can find the full list of CURL codes [here](https://curl.haxx.se/libcurl/c/libcurl-errors.html)  \ntype: integer nullable\n\n**depth**: The minimum number of clicks required for our crawler to reach the URL from the starting point of a crawl (seed page). Please note that redirects are also counted as a level  \ntype: integer nullable\n\n**depth_diff**: The minimum number of clicks required for our crawler to reach the URL from the starting point of a crawl (seed page). Please note that redirects are also counted as a level  \ntype: integer nullable\n\n**depth_prev**: The minimum number of clicks required for our crawler to reach the URL from the starting point of a crawl (seed page). Please note that redirects are also counted as a level  \ntype: integer nullable\n\n**dofollow**: The number of incoming external dofollow links pointing to the URL. Not to be confused with the number of linking pages, as one page can contain multiple backlinks  \ntype: integer nullable\n\n**dofollow_diff**: The number of incoming external dofollow links pointing to the URL. Not to be confused with the number of linking pages, as one page can contain multiple backlinks  \ntype: integer nullable\n\n**dofollow_prev**: The number of incoming external dofollow links pointing to the URL. Not to be confused with the number of linking pages, as one page can contain multiple backlinks  \ntype: integer nullable\n\n**domain**: The domain name part of the URL  \ntype: domain\n\n**domain_prev**: The domain name part of the URL  \ntype: domain nullable\n\n**duplicate_content**: The number of pages with matching or appreciably similar content  \ntype: integer nullable\n\n**duplicate_content_canonical_hreflang**: The number of page groups with matching or appreciably similar content. A group includes pages united by a common canonical URL, hreflang or pagination tags  \ntype: integer nullable\n\n**duplicate_content_canonical_hreflang_diff**: The number of page groups with matching or appreciably similar content. A group includes pages united by a common canonical URL, hreflang or pagination tags  \ntype: integer nullable\n\n**duplicate_content_canonical_hreflang_prev**: The number of page groups with matching or appreciably similar content. A group includes pages united by a common canonical URL, hreflang or pagination tags  \ntype: integer nullable\n\n**duplicate_content_diff**: The number of pages with matching or appreciably similar content  \ntype: integer nullable\n\n**duplicate_content_prev**: The number of pages with matching or appreciably similar content  \ntype: integer nullable\n\n**duplicate_description**: The number of pages that have the same meta description. If the page has more than one meta description, each will be checked for duplicates  \ntype: integer nullable\n\n**duplicate_description_canonical_hreflang**: The number of page groups that have the same meta description. A group includes pages united by a common canonical URL, hreflang or pagination tags  \ntype: integer nullable\n\n**duplicate_description_canonical_hreflang_diff**: The number of page groups that have the same meta description. A group includes pages united by a common canonical URL, hreflang or pagination tags  \ntype: integer nullable\n\n**duplicate_description_canonical_hreflang_prev**: The number of page groups that have the same meta description. A group includes pages united by a common canonical URL, hreflang or pagination tags  \ntype: integer nullable\n\n**duplicate_description_diff**: The number of pages that have the same meta description. If the page has more than one meta description, each will be checked for duplicates  \ntype: integer nullable\n\n**duplicate_description_prev**: The number of pages that have the same meta description. If the page has more than one meta description, each will be checked for duplicates  \ntype: integer nullable\n\n**duplicate_group_identifier**: The ID of the group of pages that are interconnected via a common canonical URL, hreflang or pagination tags  \ntype: integer nullable\n\n**duplicate_group_identifier_prev**: The ID of the group of pages that are interconnected via a common canonical URL, hreflang or pagination tags  \ntype: integer nullable\n\n**duplicate_h1**: The number of pages that have the same H1 subheader. If the page has more than one H1 subheader, each will be checked for duplicates  \ntype: integer nullable\n\n**duplicate_h1_canonical_hreflang**: The number of page groups sharing the same H1 subheader. A group includes pages united by a common canonical URL, hreflang or pagination tags  \ntype: integer nullable\n\n**duplicate_h1_canonical_hreflang_diff**: The number of page groups sharing the same H1 subheader. A group includes pages united by a common canonical URL, hreflang or pagination tags  \ntype: integer nullable\n\n**duplicate_h1_canonical_hreflang_prev**: The number of page groups sharing the same H1 subheader. A group includes pages united by a common canonical URL, hreflang or pagination tags  \ntype: integer nullable\n\n**duplicate_h1_diff**: The number of pages that have the same H1 subheader. If the page has more than one H1 subheader, each will be checked for duplicates  \ntype: integer nullable\n\n**duplicate_h1_prev**: The number of pages that have the same H1 subheader. If the page has more than one H1 subheader, each will be checked for duplicates  \ntype: integer nullable\n\n**duplicate_title**: The number of pages that have the same title. If the page has more than one title, each will be checked for duplicates  \ntype: integer nullable\n\n**duplicate_title_canonical_hreflang**: The number of page groups that have the same title. A group includes pages united by a common canonical URL, hreflang or pagination tags  \ntype: integer nullable\n\n**duplicate_title_canonical_hreflang_diff**: The number of page groups that have the same title. A group includes pages united by a common canonical URL, hreflang or pagination tags  \ntype: integer nullable\n\n**duplicate_title_canonical_hreflang_prev**: The number of page groups that have the same title. A group includes pages united by a common canonical URL, hreflang or pagination tags  \ntype: integer nullable\n\n**duplicate_title_diff**: The number of pages that have the same title. If the page has more than one title, each will be checked for duplicates  \ntype: integer nullable\n\n**duplicate_title_prev**: The number of pages that have the same title. If the page has more than one title, each will be checked for duplicates  \ntype: integer nullable\n\n**edu**: The number of incoming external links from .edu domains pointing to the URL (data from Ahrefs' Site Explorer database). Not to be confused with the number of linking pages, as one page can contain multiple backlinks  \ntype: integer nullable\n\n**edu_diff**: The number of incoming external links from .edu domains pointing to the URL (data from Ahrefs' Site Explorer database). Not to be confused with the number of linking pages, as one page can contain multiple backlinks  \ntype: integer nullable\n\n**edu_prev**: The number of incoming external links from .edu domains pointing to the URL (data from Ahrefs' Site Explorer database). Not to be confused with the number of linking pages, as one page can contain multiple backlinks  \ntype: integer nullable\n\n**external_code**: The list of HTTP status codes returned by the external URLs linked from the page  \ntype: array(integer nullable)\n\n**external_code_prev**: The list of HTTP status codes returned by the external URLs linked from the page  \ntype: array(integer nullable)\n\n**external_link_anchor**: The list of anchor texts used in external outgoing links on the page  \ntype: array(string nullable)\n\n**external_link_anchor_prev**: The list of anchor texts used in external outgoing links on the page  \ntype: array(string nullable)\n\n**external_link_domain**: The list of external domains linked to from the page  \ntype: array(domain)\n\n**external_link_domain_prev**: The list of external domains linked to from the page  \ntype: array(domain)\n\n**external_links**: The list of external outgoing links on the page  \ntype: array(url)\n\n**external_links_is_canonical**: Indicates whether the target page tags itself as the canonical version to be shown in search results. A page is considered as canonical when it doesn't refer to any other pages as canonical  \ntype: array(boolean nullable)\n\n**external_links_is_canonical_prev**: Indicates whether the target page tags itself as the canonical version to be shown in search results. A page is considered as canonical when it doesn't refer to any other pages as canonical  \ntype: array(boolean nullable)\n\n**external_links_prev**: The list of external outgoing links on the page  \ntype: array(url)\n\n**external_no_crawl_reason**: The reasons why the external URLs linked from the page were not crawled  \ntype: array(string nullable)\n\n**external_no_crawl_reason_prev**: The reasons why the external URLs linked from the page were not crawled  \ntype: array(string nullable)\n\n**external_scheme**: The protocols of the external outgoing links on the page  \ntype: array(string)\n\n**external_scheme_prev**: The protocols of the external outgoing links on the page  \ntype: array(string)\n\n**final_redirect**: The destination of the final redirecting URL  \ntype: url nullable\n\n**final_redirect_code**: The HTTP status code of the destination of the final redirecting URL  \ntype: integer nullable\n\n**final_redirect_code_prev**: The HTTP status code of the destination of the final redirecting URL  \ntype: integer nullable\n\n**final_redirect_no_crawl_reason**: The reason why the destination of the final redirecting URL was not crawled  \ntype: string nullable\n\n**final_redirect_no_crawl_reason_prev**: The reason why the destination of the final redirecting URL was not crawled  \ntype: string nullable\n\n**final_redirect_prev**: The destination of the final redirecting URL  \ntype: url nullable\n\n**found_in_sitemaps**: The list of sitemaps that reference the URL  \ntype: array(url)\n\n**found_in_sitemaps_length**: The number of sitemaps that reference the URL  \ntype: integer\n\n**found_in_sitemaps_length_diff**: The number of sitemaps that reference the URL  \ntype: integer nullable\n\n**found_in_sitemaps_length_prev**: The number of sitemaps that reference the URL  \ntype: integer nullable\n\n**found_in_sitemaps_prev**: The list of sitemaps that reference the URL  \ntype: array(url)\n\n**gov**: The total number of incoming external links from .gov domains pointing to the URL (data from Ahrefs' Site Explorer database). Not to be confused with the number of linking pages, as one page can contain multiple backlinks  \ntype: integer nullable\n\n**gov_diff**: The total number of incoming external links from .gov domains pointing to the URL (data from Ahrefs' Site Explorer database). Not to be confused with the number of linking pages, as one page can contain multiple backlinks  \ntype: integer nullable\n\n**gov_prev**: The total number of incoming external links from .gov domains pointing to the URL (data from Ahrefs' Site Explorer database). Not to be confused with the number of linking pages, as one page can contain multiple backlinks  \ntype: integer nullable\n\n**h1**: The page H1 subheader  \ntype: array(string)\n\n**h1_length**: The character length of the page H1 subheader  \ntype: array(integer)\n\n**h1_length_prev**: The character length of the page H1 subheader  \ntype: array(integer)\n\n**h1_prev**: The page H1 subheader  \ntype: array(string)\n\n**h2**: The page H2 subheader  \ntype: array(string)\n\n**h2_prev**: The page H2 subheader  \ntype: array(string)\n\n**hash_content**: The page content fingerprint. Pages with matching or appreciably similar content have the same content hash  \ntype: integer nullable\n\n**hash_content_prev**: The page content fingerprint. Pages with matching or appreciably similar content have the same content hash  \ntype: integer nullable\n\n**hash_descriptions**: meta_descriptions.hash  \ntype: array(integer)\n\n**hash_descriptions_prev**: meta_descriptions.hash  \ntype: array(integer)\n\n**hash_h1**: The page H1 subheader fingerprint. Pages with matching H1 tags have the same H1 hash  \ntype: array(integer)\n\n**hash_h1_prev**: The page H1 subheader fingerprint. Pages with matching H1 tags have the same H1 hash  \ntype: array(integer)\n\n**hash_text**: The page text fingerprint. Pages with matching content have the same text hash  \ntype: integer nullable\n\n**hash_text_prev**: The page text fingerprint. Pages with matching content have the same text hash  \ntype: integer nullable\n\n**hash_titles**: The page title fingerprint. Pages with matching title tags have the same title hash  \ntype: array(integer)\n\n**hash_titles_prev**: The page title fingerprint. Pages with matching title tags have the same title hash  \ntype: array(integer)\n\n**hreflang**: Data from hreflang attributes  \ntype: array(string nullable)\n\n**hreflang_code_is_valid**: Indicates that hreflang data is specified properly in the hreflang tags on the page. The language must be specified in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes), and optionally the region in [ISO 3166-1 Alpha 2 format](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)  \ntype: array(boolean nullable)\n\n**hreflang_code_is_valid_prev**: Indicates that hreflang data is specified properly in the hreflang tags on the page. The language must be specified in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes), and optionally the region in [ISO 3166-1 Alpha 2 format](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)  \ntype: array(boolean nullable)\n\n**hreflang_country**: The list of regions specified in the hreflang tags on the page  \ntype: array(string nullable)\n\n**hreflang_country_prev**: The list of regions specified in the hreflang tags on the page  \ntype: array(string nullable)\n\n**hreflang_group_hash**: The ID of the group of pages that have the same set of hreflang attributes with the same set of URLs in them  \ntype: integer nullable\n\n**hreflang_group_hash_prev**: The ID of the group of pages that have the same set of hreflang attributes with the same set of URLs in them  \ntype: integer nullable\n\n**hreflang_issues**: The list of hreflang-related issues a page has  \ntype: array(string)\n\n**hreflang_issues_prev**: The list of hreflang-related issues a page has  \ntype: array(string)\n\n**hreflang_language**: The list of languages specified in the hreflang tags on the page  \ntype: array(string nullable)\n\n**hreflang_language_prev**: The list of languages specified in the hreflang tags on the page  \ntype: array(string nullable)\n\n**hreflang_link**: The list of URLs specified in the hreflang tags on the page  \ntype: array(url)\n\n**hreflang_link_is_canonical**: Indicates whether the target page tags itself as the canonical version to be shown in search results. A page is considered as canonical when it doesn't refer to any other pages as canonical  \ntype: array(boolean nullable)\n\n**hreflang_link_is_canonical_prev**: Indicates whether the target page tags itself as the canonical version to be shown in search results. A page is considered as canonical when it doesn't refer to any other pages as canonical  \ntype: array(boolean nullable)\n\n**hreflang_link_prev**: The list of URLs specified in the hreflang tags on the page  \ntype: array(url)\n\n**hreflang_no_crawl_reason**: The reasons why URLs specified in the hreflang tags on the page were not crawled  \ntype: array(string nullable)\n\n**hreflang_no_crawl_reason_prev**: The reasons why URLs specified in the hreflang tags on the page were not crawled  \ntype: array(string nullable)\n\n**hreflang_prev**: Data from hreflang attributes  \ntype: array(string nullable)\n\n**html_lang**: Data from the page's HTML lang tag  \ntype: string nullable\n\n**html_lang_code_is_valid**: Indicates that the language (or language-region) code is specified properly in the HTML lang tag. The language must be specified in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes), and optionally the region in [ISO 3166-1 Alpha 2 format](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)  \ntype: boolean nullable\n\n**html_lang_code_is_valid_prev**: Indicates that the language (or language-region) code is specified properly in the HTML lang tag. The language must be specified in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes), and optionally the region in [ISO 3166-1 Alpha 2 format](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)  \ntype: boolean nullable\n\n**html_lang_country**: The region code specified in the page's HTML lang tag  \ntype: string nullable\n\n**html_lang_country_prev**: The region code specified in the page's HTML lang tag  \ntype: string nullable\n\n**html_lang_language**: The language code specified in the page's HTML lang tag  \ntype: string nullable\n\n**html_lang_language_prev**: The language code specified in the page's HTML lang tag  \ntype: string nullable\n\n**html_lang_prev**: Data from the page's HTML lang tag  \ntype: string nullable\n\n**http_code**: The HTTP status code returned by the URL  \ntype: integer\n\n**http_code_prev**: The HTTP status code returned by the URL  \ntype: integer nullable\n\n**http_header**: The HTTP headers that the web server returns  \ntype: array(string)\n\n**http_header_prev**: The HTTP headers that the web server returns  \ntype: array(string)\n\n**http_header_robots**: Instructions for web crawlers specified in HTTP headers  \ntype: array(string)\n\n**http_header_robots_prev**: Instructions for web crawlers specified in HTTP headers  \ntype: array(string)\n\n**http_headers_size**: The size of the HTTP headers that the web server returns, measured in bytes  \ntype: integer\n\n**http_headers_size_prev**: The size of the HTTP headers that the web server returns, measured in bytes  \ntype: integer nullable\n\n**images_no_crawl_reason**: The reasons why images linked from the page were not crawled  \ntype: array(string nullable)\n\n**images_no_crawl_reason_prev**: The reasons why images linked from the page were not crawled  \ntype: array(string nullable)\n\n**incoming_all_links**: The number of incoming links to the URL of all types  \ntype: integer nullable\n\n**incoming_all_links_diff**: The number of incoming links to the URL of all types  \ntype: integer nullable\n\n**incoming_all_links_prev**: The number of incoming links to the URL of all types  \ntype: integer nullable\n\n**incoming_canonical**: Shows how many times the URL is linked to from a rel=\"canonical\" element  \ntype: integer nullable\n\n**incoming_canonical_prev**: Shows how many times the URL is linked to from a rel=\"canonical\" element  \ntype: integer nullable\n\n**incoming_css**: The number of incoming links to the CSS file  \ntype: integer nullable\n\n**incoming_css_prev**: The number of incoming links to the CSS file  \ntype: integer nullable\n\n**incoming_follow**: The number of incoming dofollow links to the URL from hyperlinks  \ntype: integer nullable\n\n**incoming_follow_prev**: The number of incoming dofollow links to the URL from hyperlinks  \ntype: integer nullable\n\n**incoming_hreflang**: Shows how many times the URL is linked to from a rel=\"alternate\" hreflang=\"x\" attribute  \ntype: integer nullable\n\n**incoming_hreflang_prev**: Shows how many times the URL is linked to from a rel=\"alternate\" hreflang=\"x\" attribute  \ntype: integer nullable\n\n**incoming_image**: The number of incoming links to the image file  \ntype: integer nullable\n\n**incoming_image_prev**: The number of incoming links to the image file  \ntype: integer nullable\n\n**incoming_js**: The number of incoming links to the JS file  \ntype: integer nullable\n\n**incoming_js_prev**: The number of incoming links to the JS file  \ntype: integer nullable\n\n**incoming_links**: The number of incoming links to the URL from hyperlinks  \ntype: integer nullable\n\n**incoming_links_prev**: The number of incoming links to the URL from hyperlinks  \ntype: integer nullable\n\n**incoming_nofollow**: The number of incoming nofollow links to the URL from hyperlinks  \ntype: integer nullable\n\n**incoming_nofollow_prev**: The number of incoming nofollow links to the URL from hyperlinks  \ntype: integer nullable\n\n**incoming_pagination**: Shows how many times the URL is linked to from rel=\"prev\" or rel=\"next\" elements on pages  \ntype: integer nullable\n\n**incoming_pagination_prev**: Shows how many times the URL is linked to from rel=\"prev\" or rel=\"next\" elements on pages  \ntype: integer nullable\n\n**incoming_redirect**: The number of incoming redirecting links to the URL  \ntype: integer nullable\n\n**incoming_redirect_prev**: The number of incoming redirecting links to the URL  \ntype: integer nullable\n\n**indexnow_error**: The error description for a failed auto-submission  \ntype: string nullable\n\n**indexnow_error_prev**: The error description for a failed auto-submission  \ntype: string nullable\n\n**indexnow_reason**: The reason the page was considered for auto-submission to IndexNow  \ntype: string nullable\n\n**indexnow_reason_prev**: The reason the page was considered for auto-submission to IndexNow  \ntype: string nullable\n\n**indexnow_status**: The status of IndexNow auto-submission. Possible values:\n\n- **Success:** The page was successfully submitted to IndexNow.\n- **No changes detected:** No changes were detected on the page; submission was not required.\n- **Not eligible:** The URL isn't eligible for submission, e.g., it's not an indexable HTML page.\n- **Invalid API key:** IndexNow submission failed due to an invalid API key.\n- **Failed:** Submission to IndexNow failed; see details for the reason.\n- **Auto-submission is off:** Automatic submission is disabled in Crawl settings  \ntype: string nullable\n\n**indexnow_status_prev**: The status of IndexNow auto-submission. Possible values:\n\n- **Success:** The page was successfully submitted to IndexNow.\n- **No changes detected:** No changes were detected on the page; submission was not required.\n- **Not eligible:** The URL isn't eligible for submission, e.g., it's not an indexable HTML page.\n- **Invalid API key:** IndexNow submission failed due to an invalid API key.\n- **Failed:** Submission to IndexNow failed; see details for the reason.\n- **Auto-submission is off:** Automatic submission is disabled in Crawl settings  \ntype: string nullable\n\n**indexnow_submitted_at**: The date and time when the URL was auto-submitted to IndexNow  \ntype: date nullable\n\n**internal**: Indicates that the URL is internal. An internal URL is a page or resource located on the crawled domain or its subdomains (depending on the scope of your project)  \ntype: boolean\n\n**internal_code**: The list of HTTP status codes returned by the internal URLs linked to from the page  \ntype: array(integer nullable)\n\n**internal_code_prev**: The list of HTTP status codes returned by the internal URLs linked to from the page  \ntype: array(integer nullable)\n\n**internal_link_anchor**: The list of anchor texts used in internal outgoing links on the page  \ntype: array(string nullable)\n\n**internal_link_anchor_prev**: The list of anchor texts used in internal outgoing links on the page  \ntype: array(string nullable)\n\n**internal_link_domain**: The domain (or its subdomains, depending on the scope of the crawl) linked to from internal outgoing links on the page  \ntype: array(domain)\n\n**internal_link_domain_prev**: The domain (or its subdomains, depending on the scope of the crawl) linked to from internal outgoing links on the page  \ntype: array(domain)\n\n**internal_links**: The list of internal outgoing links on the page  \ntype: array(url)\n\n**internal_links_is_canonical**: Indicates whether the target page tags itself as the canonical version to be shown in search results. A page is considered as canonical when it doesn't refer to any other pages as canonical  \ntype: array(boolean nullable)\n\n**internal_links_is_canonical_prev**: Indicates whether the target page tags itself as the canonical version to be shown in search results. A page is considered as canonical when it doesn't refer to any other pages as canonical  \ntype: array(boolean nullable)\n\n**internal_links_prev**: The list of internal outgoing links on the page  \ntype: array(url)\n\n**internal_no_crawl_reason**: The reasons why the internal URLs linked to from the page were not crawled  \ntype: array(string nullable)\n\n**internal_no_crawl_reason_prev**: The reasons why the internal URLs linked to from the page were not crawled  \ntype: array(string nullable)\n\n**internal_prev**: Indicates that the URL is internal. An internal URL is a page or resource located on the crawled domain or its subdomains (depending on the scope of your project)  \ntype: boolean nullable\n\n**internal_scheme**: The protocols of the internal outgoing links on the page  \ntype: array(string)\n\n**internal_scheme_prev**: The protocols of the internal outgoing links on the page  \ntype: array(string)\n\n**is_html**: Indicates that the content type of the web document is HTML  \ntype: boolean\n\n**is_html_prev**: Indicates that the content type of the web document is HTML  \ntype: boolean nullable\n\n**is_in_sitemap**: Indicates that the URL is included in the website's sitemap file  \ntype: boolean nullable\n\n**is_in_sitemap_prev**: Indicates that the URL is included in the website's sitemap file  \ntype: boolean nullable\n\n**is_page_title_used_in_serp**: Indicates that the page and SERP titles match  \ntype: boolean nullable\n\n**is_redirect_loop**: Checks if the URL has a redirect loop  \ntype: boolean nullable\n\n**is_redirect_loop_prev**: Checks if the URL has a redirect loop  \ntype: boolean nullable\n\n**is_rendered**: Indicates that the crawler had executed JavaScript on the page to generate content  \ntype: boolean nullable\n\n**is_rendered_prev**: Indicates that the crawler had executed JavaScript on the page to generate content  \ntype: boolean nullable\n\n**is_valid_internal_html**: The HTML page on the crawled domain or its subdomain that returns a 200 HTTP status code  \ntype: boolean\n\n**is_valid_internal_html_prev**: The HTML page on the crawled domain or its subdomain that returns a 200 HTTP status code  \ntype: boolean nullable\n\n**js_no_crawl_reason**: The reasons why JavaScript files linked from the page were not crawled  \ntype: array(string nullable)\n\n**js_no_crawl_reason_prev**: The reasons why JavaScript files linked from the page were not crawled  \ntype: array(string nullable)\n\n**jsonld_properties**: Names of the schema properties found on the page  \ntype: array(string)\n\n**jsonld_properties_prev**: Names of the schema properties found on the page  \ntype: array(string)\n\n**jsonld_schema_types**: Schema objects found on the page  \ntype: array(string)\n\n**jsonld_schema_types_prev**: Schema objects found on the page  \ntype: array(string)\n\n**jsonld_validation_kinds**: Issues with the structured data found on the page  \ntype: array(string)\n\n**jsonld_validation_kinds_prev**: Issues with the structured data found on the page  \ntype: array(string)\n\n**jsonld_values**: Values of the schema properties found on the page  \ntype: array(string)\n\n**jsonld_values_prev**: Values of the schema properties found on the page  \ntype: array(string)\n\n**keywords**: The page meta keywords  \ntype: array(string)\n\n**keywords_prev**: The page meta keywords  \ntype: array(string)\n\n**length**: The character length of the URL  \ntype: integer\n\n**length_prev**: The character length of the URL  \ntype: integer nullable\n\n**links_count_css**: The number of CSS files linked from the page  \ntype: integer nullable\n\n**links_count_css_prev**: The number of CSS files linked from the page  \ntype: integer nullable\n\n**links_count_external**: The number of external outgoing links on the page  \ntype: integer nullable\n\n**links_count_external3xx**: The number of external outgoing links on the page pointing to URLs that return one of the 3xx (redirection) HTTP status codes  \ntype: integer nullable\n\n**links_count_external3xx_prev**: The number of external outgoing links on the page pointing to URLs that return one of the 3xx (redirection) HTTP status codes  \ntype: integer nullable\n\n**links_count_external4xx**: The number of external outgoing links on the page pointing to URLs that return one of the 4xx (client error) HTTP status codes  \ntype: integer nullable\n\n**links_count_external4xx_prev**: The number of external outgoing links on the page pointing to URLs that return one of the 4xx (client error) HTTP status codes  \ntype: integer nullable\n\n**links_count_external5xx**: The number of external outgoing links on the page pointing to URLs that return one of the 5xx (server error) HTTP status codes  \ntype: integer nullable\n\n**links_count_external5xx_prev**: The number of external outgoing links on the page pointing to URLs that return one of the 5xx (server error) HTTP status codes  \ntype: integer nullable\n\n**links_count_external_follow**: The number of external outgoing dofollow links on the page  \ntype: integer nullable\n\n**links_count_external_follow_prev**: The number of external outgoing dofollow links on the page  \ntype: integer nullable\n\n**links_count_external_nofollow**: The number of external outgoing nofollow links on the page  \ntype: integer nullable\n\n**links_count_external_nofollow_prev**: The number of external outgoing nofollow links on the page  \ntype: integer nullable\n\n**links_count_external_non_canonical**: The number of external outgoing links on the page that point to non-canonical pages  \ntype: integer nullable\n\n**links_count_external_non_canonical_prev**: The number of external outgoing links on the page that point to non-canonical pages  \ntype: integer nullable\n\n**links_count_external_xxx**: The number of external outgoing links on the page pointing to URLs that return HTTP status codes other than 2xx, 3xx, 4xx, 5xx or return no status code  \ntype: integer nullable\n\n**links_count_external_xxx_prev**: The number of external outgoing links on the page pointing to URLs that return HTTP status codes other than 2xx, 3xx, 4xx, 5xx or return no status code  \ntype: integer nullable\n\n**links_count_images**: The number of images linked from the page  \ntype: integer nullable\n\n**links_count_images_prev**: The number of images linked from the page  \ntype: integer nullable\n\n**links_count_images_with_alt**: The number of images linked from the page that have an alt attribute (alternate text)  \ntype: integer nullable\n\n**links_count_images_with_alt_prev**: The number of images linked from the page that have an alt attribute (alternate text)  \ntype: integer nullable\n\n**links_count_images_without_alt**: The number of images linked from the page that have no alt attribute (alternate text)  \ntype: integer nullable\n\n**links_count_images_without_alt_prev**: The number of images linked from the page that have no alt attribute (alternate text)  \ntype: integer nullable\n\n**links_count_internal**: The number of internal outgoing links on the page  \ntype: integer nullable\n\n**links_count_internal3xx**: The number of internal outgoing links on the page pointing to URLs that return one of the 3xx (redirection) HTTP status codes  \ntype: integer nullable\n\n**links_count_internal3xx_prev**: The number of internal outgoing links on the page pointing to URLs that return one of the 3xx (redirection) HTTP status codes  \ntype: integer nullable\n\n**links_count_internal4xx**: The number of internal outgoing links on the page pointing to URLs that return one of the 4xx (client error) HTTP status codes  \ntype: integer nullable\n\n**links_count_internal4xx_prev**: The number of internal outgoing links on the page pointing to URLs that return one of the 4xx (client error) HTTP status codes  \ntype: integer nullable\n\n**links_count_internal5xx**: The number of internal outgoing links on the page pointing to URLs that return one of the 5xx (server error) HTTP status codes  \ntype: integer nullable\n\n**links_count_internal5xx_prev**: The number of internal outgoing links on the page pointing to URLs that return one of the 5xx (server error) HTTP status codes  \ntype: integer nullable\n\n**links_count_internal_follow**: The number of internal outgoing dofollow links on the page  \ntype: integer nullable\n\n**links_count_internal_follow_prev**: The number of internal outgoing dofollow links on the page  \ntype: integer nullable\n\n**links_count_internal_nofollow**: The number of internal outgoing nofollow links on the page  \ntype: integer nullable\n\n**links_count_internal_nofollow_prev**: The number of internal outgoing nofollow links on the page  \ntype: integer nullable\n\n**links_count_internal_non_canonical**: The number of internal outgoing links on the page that point to non-canonical pages  \ntype: integer nullable\n\n**links_count_internal_non_canonical_prev**: The number of internal outgoing links on the page that point to non-canonical pages  \ntype: integer nullable\n\n**links_count_internal_xxx**: The number of internal outgoing links on the page pointing to URLs that return HTTP status codes other than 2xx, 3xx, 4xx, 5xx or return no status code  \ntype: integer nullable\n\n**links_count_internal_xxx_prev**: The number of internal outgoing links on the page pointing to URLs that return HTTP status codes other than 2xx, 3xx, 4xx, 5xx or return no status code  \ntype: integer nullable\n\n**links_count_js**: The number of JavaScript files linked from the page  \ntype: integer nullable\n\n**links_count_js_prev**: The number of JavaScript files linked from the page  \ntype: integer nullable\n\n**links_css**: The list of CSS files linked from the page  \ntype: array(url)\n\n**links_css_code**: The list of HTTP status codes returned by CSS files linked from the page  \ntype: array(integer nullable)\n\n**links_css_code_prev**: The list of HTTP status codes returned by CSS files linked from the page  \ntype: array(integer nullable)\n\n**links_css_domain**: The list of domains that contain CSS files linked from the page  \ntype: array(domain)\n\n**links_css_domain_prev**: The list of domains that contain CSS files linked from the page  \ntype: array(domain)\n\n**links_css_prev**: The list of CSS files linked from the page  \ntype: array(url)\n\n**links_css_scheme**: The protocols of CSS files linked from the page  \ntype: array(string)\n\n**links_css_scheme_prev**: The protocols of CSS files linked from the page  \ntype: array(string)\n\n**links_external3xx**: The list of external outgoing links on the page pointing to URLs that return one of the 3xx (redirection) HTTP status codes  \ntype: array(url)\n\n**links_external3xx_code**: The list of HTTP status codes returned by the external URLs linked from the page (3xx)  \ntype: array(integer nullable)\n\n**links_external3xx_code_prev**: The list of HTTP status codes returned by the external URLs linked from the page (3xx)  \ntype: array(integer nullable)\n\n**links_external3xx_prev**: The list of external outgoing links on the page pointing to URLs that return one of the 3xx (redirection) HTTP status codes  \ntype: array(url)\n\n**links_external4xx**: The list of external outgoing links on the page pointing to URLs that return one of the 4xx (client error) HTTP status codes  \ntype: array(url)\n\n**links_external4xx_code**: The list of HTTP status codes returned by the external URLs linked from the page (4xx)  \ntype: array(integer nullable)\n\n**links_external4xx_code_prev**: The list of HTTP status codes returned by the external URLs linked from the page (4xx)  \ntype: array(integer nullable)\n\n**links_external4xx_prev**: The list of external outgoing links on the page pointing to URLs that return one of the 4xx (client error) HTTP status codes  \ntype: array(url)\n\n**links_external5xx**: The list of external outgoing links on the page pointing to URLs that return one of the 5xx (server error) HTTP status codes  \ntype: array(url)\n\n**links_external5xx_code**: The list of HTTP status codes returned by the external URLs linked from the page (5xx)  \ntype: array(integer nullable)\n\n**links_external5xx_code_prev**: The list of HTTP status codes returned by the external URLs linked from the page (5xx)  \ntype: array(integer nullable)\n\n**links_external5xx_prev**: The list of external outgoing links on the page pointing to URLs that return one of the 5xx (server error) HTTP status codes  \ntype: array(url)\n\n**links_external_follow**: The list of external outgoing dofollow links on the page  \ntype: array(url)\n\n**links_external_follow_code**: The list of HTTP status codes returned by the external dofollow URLs linked from the page  \ntype: array(integer nullable)\n\n**links_external_follow_code_prev**: The list of HTTP status codes returned by the external dofollow URLs linked from the page  \ntype: array(integer nullable)\n\n**links_external_follow_prev**: The list of external outgoing dofollow links on the page  \ntype: array(url)\n\n**links_external_nofollow**: The list of external outgoing nofollow links on the page  \ntype: array(url)\n\n**links_external_nofollow_code**: The list of HTTP status codes returned by the external nofollow URLs linked from the page  \ntype: array(integer nullable)\n\n**links_external_nofollow_code_prev**: The list of HTTP status codes returned by the external nofollow URLs linked from the page  \ntype: array(integer nullable)\n\n**links_external_nofollow_prev**: The list of external outgoing nofollow links on the page  \ntype: array(url)\n\n**links_external_non_canonical**: The list of external outgoing links on the page that point to non-canonical pages  \ntype: array(url)\n\n**links_external_non_canonical_code**: The list of HTTP status codes returned by the external URLs linked from the page (NonCanonical)  \ntype: array(integer nullable)\n\n**links_external_non_canonical_code_prev**: The list of HTTP status codes returned by the external URLs linked from the page (NonCanonical)  \ntype: array(integer nullable)\n\n**links_external_non_canonical_prev**: The list of external outgoing links on the page that point to non-canonical pages  \ntype: array(url)\n\n**links_external_xxx**: The number of external outgoing links on the page pointing to URLs that return HTTP status codes other than 2xx, 3xx, 4xx, 5xx or return no status code  \ntype: array(url)\n\n**links_external_xxx_code**: The list of HTTP status codes returned by the external URLs linked from the page (Xxx)  \ntype: array(integer nullable)\n\n**links_external_xxx_code_prev**: The list of HTTP status codes returned by the external URLs linked from the page (Xxx)  \ntype: array(integer nullable)\n\n**links_external_xxx_prev**: The number of external outgoing links on the page pointing to URLs that return HTTP status codes other than 2xx, 3xx, 4xx, 5xx or return no status code  \ntype: array(url)\n\n**links_hreflang_code**: The list of HTTP status codes returned by the URLs specified in hreflang tags on the page  \ntype: array(integer nullable)\n\n**links_hreflang_code_prev**: The list of HTTP status codes returned by the URLs specified in hreflang tags on the page  \ntype: array(integer nullable)\n\n**links_images**: The list of images linked from the page  \ntype: array(url)\n\n**links_images_alt**: The list of alternate texts of images linked from the page  \ntype: array(string nullable)\n\n**links_images_alt_prev**: The list of alternate texts of images linked from the page  \ntype: array(string nullable)\n\n**links_images_code**: The list of HTTP status codes returned by images linked from the page  \ntype: array(integer nullable)\n\n**links_images_code_prev**: The list of HTTP status codes returned by images linked from the page  \ntype: array(integer nullable)\n\n**links_images_domain**: The list of domains that contain images linked from the page  \ntype: array(domain)\n\n**links_images_domain_prev**: The list of domains that contain images linked from the page  \ntype: array(domain)\n\n**links_images_prev**: The list of images linked from the page  \ntype: array(url)\n\n**links_images_scheme**: The protocols of images linked from the page  \ntype: array(string)\n\n**links_images_scheme_prev**: The protocols of images linked from the page  \ntype: array(string)\n\n**links_images_with_alt**: The list of images linked from the page that have an alt attribute (alternate text)  \ntype: array(url)\n\n**links_images_with_alt_code**: The list of HTTP status codes returned by images linked from the page that have an alt attribute (alternate text)  \ntype: array(integer nullable)\n\n**links_images_with_alt_code_prev**: The list of HTTP status codes returned by images linked from the page that have an alt attribute (alternate text)  \ntype: array(integer nullable)\n\n**links_images_with_alt_prev**: The list of images linked from the page that have an alt attribute (alternate text)  \ntype: array(url)\n\n**links_images_without_alt**: The list of images linked from the page that have no alt attribute (alternate text)  \ntype: array(url)\n\n**links_images_without_alt_code**: The list of HTTP status codes returned by images linked from the page that have no alt attribute (alternate text)  \ntype: array(integer nullable)\n\n**links_images_without_alt_code_prev**: The list of HTTP status codes returned by images linked from the page that have no alt attribute (alternate text)  \ntype: array(integer nullable)\n\n**links_images_without_alt_prev**: The list of images linked from the page that have no alt attribute (alternate text)  \ntype: array(url)\n\n**links_internal3xx**: The list of internal outgoing links on the page pointing to URLs that return one of the 3xx (redirection) HTTP status codes  \ntype: array(url)\n\n**links_internal3xx_code**: The list of HTTP status codes returned by the internal URLs linked from the page (3xx)  \ntype: array(integer nullable)\n\n**links_internal3xx_code_prev**: The list of HTTP status codes returned by the internal URLs linked from the page (3xx)  \ntype: array(integer nullable)\n\n**links_internal3xx_prev**: The list of internal outgoing links on the page pointing to URLs that return one of the 3xx (redirection) HTTP status codes  \ntype: array(url)\n\n**links_internal4xx**: The list of internal outgoing links on the page pointing to URLs that return one of the 4xx (client error) HTTP status codes  \ntype: array(url)\n\n**links_internal4xx_code**: The list of HTTP status codes returned by the internal URLs linked from the page (4xx)  \ntype: array(integer nullable)\n\n**links_internal4xx_code_prev**: The list of HTTP status codes returned by the internal URLs linked from the page (4xx)  \ntype: array(integer nullable)\n\n**links_internal4xx_prev**: The list of internal outgoing links on the page pointing to URLs that return one of the 4xx (client error) HTTP status codes  \ntype: array(url)\n\n**links_internal5xx**: The list of internal outgoing links on the page pointing to URLs that return one of the 5xx (server error) HTTP status codes  \ntype: array(url)\n\n**links_internal5xx_code**: The list of HTTP status codes returned by the internal URLs linked from the page (5xx)  \ntype: array(integer nullable)\n\n**links_internal5xx_code_prev**: The list of HTTP status codes returned by the internal URLs linked from the page (5xx)  \ntype: array(integer nullable)\n\n**links_internal5xx_prev**: The list of internal outgoing links on the page pointing to URLs that return one of the 5xx (server error) HTTP status codes  \ntype: array(url)\n\n**links_internal_follow**: The list of internal outgoing dofollow links on the page  \ntype: array(url)\n\n**links_internal_follow_code**: The list of HTTP status codes returned by the internal dofollow URLs linked from the page  \ntype: array(integer nullable)\n\n**links_internal_follow_code_prev**: The list of HTTP status codes returned by the internal dofollow URLs linked from the page  \ntype: array(integer nullable)\n\n**links_internal_follow_prev**: The list of internal outgoing dofollow links on the page  \ntype: array(url)\n\n**links_internal_nofollow**: The list of internal outgoing nofollow links on the page  \ntype: array(url)\n\n**links_internal_nofollow_code**: The list of HTTP status codes returned by the internal nofollow URLs linked from the page  \ntype: array(integer nullable)\n\n**links_internal_nofollow_code_prev**: The list of HTTP status codes returned by the internal nofollow URLs linked from the page  \ntype: array(integer nullable)\n\n**links_internal_nofollow_prev**: The list of internal outgoing nofollow links on the page  \ntype: array(url)\n\n**links_internal_non_canonical**: The list of internal outgoing links on the page that point to non-canonical pages  \ntype: array(url)\n\n**links_internal_non_canonical_code**: The list of HTTP status codes returned by the internal URLs linked from the page (non-canonical)  \ntype: array(integer nullable)\n\n**links_internal_non_canonical_code_prev**: The list of HTTP status codes returned by the internal URLs linked from the page (non-canonical)  \ntype: array(integer nullable)\n\n**links_internal_non_canonical_prev**: The list of internal outgoing links on the page that point to non-canonical pages  \ntype: array(url)\n\n**links_internal_xxx**: The list of internal outgoing links on the page pointing to URLs that return HTTP status codes other than 2xx, 3xx, 4xx, 5xx or return no status code  \ntype: array(url)\n\n**links_internal_xxx_code**: The list of HTTP status codes returned by the internal URLs linked from the page (Xxx)  \ntype: array(integer nullable)\n\n**links_internal_xxx_code_prev**: The list of HTTP status codes returned by the internal URLs linked from the page (Xxx)  \ntype: array(integer nullable)\n\n**links_internal_xxx_prev**: The list of internal outgoing links on the page pointing to URLs that return HTTP status codes other than 2xx, 3xx, 4xx, 5xx or return no status code  \ntype: array(url)\n\n**links_js**: The list of JavaScript files linked from the page  \ntype: array(url)\n\n**links_js_code**: The list of HTTP status codes returned by JavaScript files linked from the page  \ntype: array(integer nullable)\n\n**links_js_code_prev**: The list of HTTP status codes returned by JavaScript files linked from the page  \ntype: array(integer nullable)\n\n**links_js_domain**: The list of domains that contain JavaScript files linked from the page  \ntype: array(domain)\n\n**links_js_domain_prev**: The list of domains that contain JavaScript files linked from the page  \ntype: array(domain)\n\n**links_js_prev**: The list of JavaScript files linked from the page  \ntype: array(url)\n\n**links_js_scheme**: The protocols of JavaScript files linked from the page  \ntype: array(string)\n\n**links_js_scheme_prev**: The protocols of JavaScript files linked from the page  \ntype: array(string)\n\n**loading_time**: The time it takes for the crawler to load the full content of the document, measured in milliseconds  \ntype: integer nullable\n\n**loading_time_diff**: The time it takes for the crawler to load the full content of the document, measured in milliseconds  \ntype: integer nullable\n\n**loading_time_prev**: The time it takes for the crawler to load the full content of the document, measured in milliseconds  \ntype: integer nullable\n\n**meta_description**: Meta description  \ntype: array(string)\n\n**meta_description_length**: Meta description length  \ntype: array(integer)\n\n**meta_description_length_prev**: Meta description length  \ntype: array(integer)\n\n**meta_description_prev**: Meta description  \ntype: array(string)\n\n**meta_refresh**: The time set in a meta refresh tag, in seconds  \ntype: array(string)\n\n**meta_refresh_prev**: The time set in a meta refresh tag, in seconds  \ntype: array(string)\n\n**meta_robots**: Instructions for web crawlers specified in HTML robots meta tags on the page  \ntype: array(string)\n\n**meta_robots_prev**: Instructions for web crawlers specified in HTML robots meta tags on the page  \ntype: array(string)\n\n**meta_twitter_tags_app_google_play**: The app ID in the Google Play Store specified in the twitter:app:id:ipad meta property  \ntype: string nullable\n\n**meta_twitter_tags_app_google_play_prev**: The app ID in the Google Play Store specified in the twitter:app:id:ipad meta property  \ntype: string nullable\n\n**meta_twitter_tags_app_ipad**: The app ID in the iTunes App Store specified in the twitter:app:id:ipad meta property  \ntype: string nullable\n\n**meta_twitter_tags_app_ipad_prev**: The app ID in the iTunes App Store specified in the twitter:app:id:ipad meta property  \ntype: string nullable\n\n**meta_twitter_tags_app_iphone**: The app ID in the iTunes App Store specified in the twitter:app:id:iphone meta property  \ntype: string nullable\n\n**meta_twitter_tags_app_iphone_prev**: The app ID in the iTunes App Store specified in the twitter:app:id:iphone meta property  \ntype: string nullable\n\n**meta_twitter_tags_attributes**: The list of X (Twitter) Card properties on the page  \ntype: array(string)\n\n**meta_twitter_tags_attributes_prev**: The list of X (Twitter) Card properties on the page  \ntype: array(string)\n\n**meta_twitter_tags_card**: The X (Twitter) Card type can be \"summary\", \"summary\\_large\\_image\", \"app\", or \"player\"  \ntype: string nullable\n\n**meta_twitter_tags_card_prev**: The X (Twitter) Card type can be \"summary\", \"summary\\_large\\_image\", \"app\", or \"player\"  \ntype: string nullable\n\n**meta_twitter_tags_description**: meta_twitter_tags.description  \ntype: string nullable\n\n**meta_twitter_tags_description_prev**: meta_twitter_tags.description  \ntype: string nullable\n\n**meta_twitter_tags_image**: The image URL specified in the twitter:image meta property  \ntype: string nullable\n\n**meta_twitter_tags_image_prev**: The image URL specified in the twitter:image meta property  \ntype: string nullable\n\n**meta_twitter_tags_image_url_invalid**: Indicates that the URL specified in the twitter:image meta property is a valid absolute URL  \ntype: boolean nullable\n\n**meta_twitter_tags_image_url_invalid_prev**: Indicates that the URL specified in the twitter:image meta property is a valid absolute URL  \ntype: boolean nullable\n\n**meta_twitter_tags_player**: The HTTPS URL of player iframe specified in the twitter:player meta property  \ntype: string nullable\n\n**meta_twitter_tags_player_height**: The height of iframe in pixels specified in the twitter:player:width meta property  \ntype: integer nullable\n\n**meta_twitter_tags_player_height_prev**: The height of iframe in pixels specified in the twitter:player:width meta property  \ntype: integer nullable\n\n**meta_twitter_tags_player_prev**: The HTTPS URL of player iframe specified in the twitter:player meta property  \ntype: string nullable\n\n**meta_twitter_tags_player_width**: The width of iframe in pixels specified in the twitter:player:width meta property  \ntype: integer nullable\n\n**meta_twitter_tags_player_width_diff**: The width of iframe in pixels specified in the twitter:player:width meta property  \ntype: integer nullable\n\n**meta_twitter_tags_player_width_prev**: The width of iframe in pixels specified in the twitter:player:width meta property  \ntype: integer nullable\n\n**meta_twitter_tags_site**: The X (Twitter) handle specified in the twitter:site meta property  \ntype: string nullable\n\n**meta_twitter_tags_site_prev**: The X (Twitter) handle specified in the twitter:site meta property  \ntype: string nullable\n\n**meta_twitter_tags_title**: The title text specified in the twitter:title meta property  \ntype: string nullable\n\n**meta_twitter_tags_title_prev**: The title text specified in the twitter:title meta property  \ntype: string nullable\n\n**meta_twitter_tags_valid**: Indicates that the page has all the necessary tags required in a X (Twitter) Card  \ntype: boolean nullable\n\n**meta_twitter_tags_valid_prev**: Indicates that the page has all the necessary tags required in a X (Twitter) Card  \ntype: boolean nullable\n\n**meta_twitter_tags_values**: Data from the X (Twitter) Card properties on the page  \ntype: array(string)\n\n**meta_twitter_tags_values_prev**: Data from the X (Twitter) Card properties on the page  \ntype: array(string)\n\n**navigation_next**: The URL specified in the rel=\"next\" element on the page  \ntype: url nullable\n\n**navigation_next_code**: The HTTP status code returned by the URL specified in the rel=\"next\" element on a page  \ntype: integer nullable\n\n**navigation_next_code_prev**: The HTTP status code returned by the URL specified in the rel=\"next\" element on a page  \ntype: integer nullable\n\n**navigation_next_no_crawl_reason**: The reason why the URL specified in the rel=\"next\" element on a page was not crawled  \ntype: string nullable\n\n**navigation_next_no_crawl_reason_prev**: The reason why the URL specified in the rel=\"next\" element on a page was not crawled  \ntype: string nullable\n\n**navigation_next_prev**: The URL specified in the rel=\"next\" element on the page  \ntype: url nullable\n\n**navigation_prev**: The URL specified in the rel=\"prev\" element on the page  \ntype: url nullable\n\n**navigation_prev_code**: The HTTP status code returned by the URL specified in the rel=\"prev\" element on a page  \ntype: integer nullable\n\n**navigation_prev_code_prev**: The HTTP status code returned by the URL specified in the rel=\"prev\" element on a page  \ntype: integer nullable\n\n**navigation_prev_no_crawl_reason**: The reason why the URL specified in the rel=\"prev\" element on a page was not crawled  \ntype: string nullable\n\n**navigation_prev_no_crawl_reason_prev**: The reason why the URL specified in the rel=\"prev\" element on a page was not crawled  \ntype: string nullable\n\n**navigation_prev_prev**: The URL specified in the rel=\"prev\" element on the page  \ntype: url nullable\n\n**nofollow**: The number of incoming external nofollow links pointing to the URL. Not to be confused with the number of linking pages, as one page can contain multiple backlinks  \ntype: integer nullable\n\n**nofollow_diff**: The number of incoming external nofollow links pointing to the URL. Not to be confused with the number of linking pages, as one page can contain multiple backlinks  \ntype: integer nullable\n\n**nofollow_prev**: The number of incoming external nofollow links pointing to the URL. Not to be confused with the number of linking pages, as one page can contain multiple backlinks  \ntype: integer nullable\n\n**nr_h1**: The number of H1 subheaders on the page  \ntype: integer\n\n**nr_h1_diff**: The number of H1 subheaders on the page  \ntype: integer nullable\n\n**nr_h1_prev**: The number of H1 subheaders on the page  \ntype: integer nullable\n\n**nr_meta_description**: Number of Meta descriptions  \ntype: integer\n\n**nr_meta_description_diff**: Number of Meta descriptions  \ntype: integer nullable\n\n**nr_meta_description_prev**: Number of Meta descriptions  \ntype: integer nullable\n\n**nr_redirect_chain_urls**: The number of redirect chain URLs  \ntype: integer nullable\n\n**nr_redirect_chain_urls_diff**: The number of redirect chain URLs  \ntype: integer nullable\n\n**nr_redirect_chain_urls_prev**: The number of redirect chain URLs  \ntype: integer nullable\n\n**nr_titles**: The number of title tags on the page  \ntype: integer\n\n**nr_titles_diff**: The number of title tags on the page  \ntype: integer nullable\n\n**nr_titles_prev**: The number of title tags on the page  \ntype: integer nullable\n\n**og_tags_attributes**: The list of Open Graph properties on a page  \ntype: array(string)\n\n**og_tags_attributes_prev**: The list of Open Graph properties on a page  \ntype: array(string)\n\n**og_tags_image**: The image URL specified in the og:image meta property  \ntype: string nullable\n\n**og_tags_image_prev**: The image URL specified in the og:image meta property  \ntype: string nullable\n\n**og_tags_image_url_invalid**: Indicates that the URL specified in the og:image meta property is a valid absolute URL  \ntype: boolean nullable\n\n**og_tags_image_url_invalid_prev**: Indicates that the URL specified in the og:image meta property is a valid absolute URL  \ntype: boolean nullable\n\n**og_tags_inconsistent_canonical**: Indicates that the URL specified in the og:url meta property matches the URL specified as the canonical version of the page  \ntype: boolean nullable\n\n**og_tags_inconsistent_canonical_prev**: Indicates that the URL specified in the og:url meta property matches the URL specified as the canonical version of the page  \ntype: boolean nullable\n\n**og_tags_title**: The title text specified in the og:title meta property  \ntype: string nullable\n\n**og_tags_title_prev**: The title text specified in the og:title meta property  \ntype: string nullable\n\n**og_tags_type**: The object type specified in the og:type meta property  \ntype: string nullable\n\n**og_tags_type_prev**: The object type specified in the og:type meta property  \ntype: string nullable\n\n**og_tags_url**: The URL specified in the og:url meta property  \ntype: string nullable\n\n**og_tags_url_prev**: The URL specified in the og:url meta property  \ntype: string nullable\n\n**og_tags_url_valid**: Indicates that the URL specified in the og:url meta property is a valid absolute URL  \ntype: boolean nullable\n\n**og_tags_url_valid_prev**: Indicates that the URL specified in the og:url meta property is a valid absolute URL  \ntype: boolean nullable\n\n**og_tags_valid**: Indicates that the page has all four required Open Graph properties: og:title, og:type, og:image, and og:url  \ntype: boolean nullable\n\n**og_tags_valid_prev**: Indicates that the page has all four required Open Graph properties: og:title, og:type, og:image, and og:url  \ntype: boolean nullable\n\n**og_tags_value**: Data from Open Graph properties on a page  \ntype: array(string)\n\n**og_tags_value_prev**: Data from Open Graph properties on a page  \ntype: array(string)\n\n**origin**: Shows where the URL was originally found during the crawl  \ntype: url nullable\n\n**origin_prev**: Shows where the URL was originally found during the crawl  \ntype: url nullable\n\n**page_any_content_raw**: The source code of an HTML page, raw or JS rendered depending on the crawl settings, an XML sitemap or a robots.txt file  \ntype: string nullable\n\n**page_any_content_raw_length**: The character length of the page source code  \ntype: integer nullable\n\n**page_any_content_raw_length_diff**: The character length of the page source code  \ntype: integer nullable\n\n**page_any_content_raw_length_prev**: The character length of the page source code  \ntype: integer nullable\n\n**page_any_content_raw_prev**: The source code of an HTML page, raw or JS rendered depending on the crawl settings, an XML sitemap or a robots.txt file  \ntype: string nullable\n\n**page_is_nofollow**: Check if the page is nofollow, based on http header and meta robots instructions  \ntype: boolean nullable\n\n**page_is_nofollow_prev**: Check if the page is nofollow, based on http header and meta robots instructions  \ntype: boolean nullable\n\n**page_is_noindex**: Check if the page is noindex, based on http header and meta robots instructions  \ntype: boolean nullable\n\n**page_is_noindex_prev**: Check if the page is noindex, based on http header and meta robots instructions  \ntype: boolean nullable\n\n**page_rating**: Page Rating (PR) shows the URL's internal and external backlink profile strength relative to other URLs included in the crawl  \ntype: integer nullable\n\n**page_rating_prev**: Page Rating (PR) shows the URL's internal and external backlink profile strength relative to other URLs included in the crawl  \ntype: integer nullable\n\n**page_raw_text**: The text extracted from the page content.  \ntype: string nullable\n\n**page_raw_text_length**: The character length of the raw textual content of the page  \ntype: integer nullable\n\n**page_raw_text_length_diff**: The character length of the raw textual content of the page  \ntype: integer nullable\n\n**page_raw_text_length_prev**: The character length of the raw textual content of the page  \ntype: integer nullable\n\n**page_raw_text_prev**: Hypertext Transfer Protocol of the URL (HTTP or HTTPS)  \ntype: string nullable\n\n**page_raw_ur**: URL Rating (UR) shows the strength of your target page's backlink profile on a 100-point logarithmic scale. [Learn more](https://help.ahrefs.com/en/articles/72658-what-is-url-rating-ur)  \ntype: integer nullable\n\n**page_raw_ur_diff**: URL Rating (UR) shows the strength of your target page's backlink profile on a 100-point logarithmic scale. [Learn more](https://help.ahrefs.com/en/articles/72658-what-is-url-rating-ur)  \ntype: integer nullable\n\n**page_raw_ur_prev**: URL Rating (UR) shows the strength of your target page's backlink profile on a 100-point logarithmic scale. [Learn more](https://help.ahrefs.com/en/articles/72658-what-is-url-rating-ur)  \ntype: integer nullable\n\n**page_type**: Site Audit categorizes URLs as HTML Pages, Resource files (image, CSS or JavaScript), XML Sitemaps\n    and Robots.txt. If a page doesn't return status code 200 or has a content type that isn't covered by the categories above, it's\n    considered as \"Other\". Since we can't determine what these pages are, we further classify them based on how incoming links reference\n    them: as resources (receive resource incoming links) or as pages (receive non-resource incoming links)  \ntype: array(string)\n\n**page_type_prev**: Site Audit categorizes URLs as HTML Pages, Resource files (image, CSS or JavaScript), XML Sitemaps\n    and Robots.txt. If a page doesn't return status code 200 or has a content type that isn't covered by the categories above, it's\n    considered as \"Other\". Since we can't determine what these pages are, we further classify them based on how incoming links reference\n    them: as resources (receive resource incoming links) or as pages (receive non-resource incoming links)  \ntype: array(string)\n\n**pagination_group**: The ID of the group of pages interconnected via their rel=\"next\" and rel=\"prev\" links  \ntype: integer nullable\n\n**pagination_group_prev**: The ID of the group of pages interconnected via their rel=\"next\" and rel=\"prev\" links  \ntype: integer nullable\n\n**positions**: The number of keywords the page is ranking for in top 100 organic search results worldwide (data from Ahrefs' Site Explorer)  \ntype: integer nullable\n\n**positions_diff**: The number of keywords the page is ranking for in top 100 organic search results worldwide (data from Ahrefs' Site Explorer)  \ntype: integer nullable\n\n**positions_prev**: The number of keywords the page is ranking for in top 100 organic search results worldwide (data from Ahrefs' Site Explorer)  \ntype: integer nullable\n\n**positions_top10**: The number of keywords the page is ranking for in top 10 organic search results worldwide (data from Ahrefs' Site Explorer)  \ntype: integer nullable\n\n**positions_top10_diff**: The number of keywords the page is ranking for in top 10 organic search results worldwide (data from Ahrefs' Site Explorer)  \ntype: integer nullable\n\n**positions_top10_prev**: The number of keywords the page is ranking for in top 10 organic search results worldwide (data from Ahrefs' Site Explorer)  \ntype: integer nullable\n\n**positions_top3**: The number of keywords the page is ranking for in top 3 organic search results worldwide (data from Ahrefs' Site Explorer)  \ntype: integer nullable\n\n**positions_top3_diff**: The number of keywords the page is ranking for in top 3 organic search results worldwide (data from Ahrefs' Site Explorer)  \ntype: integer nullable\n\n**positions_top3_prev**: The number of keywords the page is ranking for in top 3 organic search results worldwide (data from Ahrefs' Site Explorer)  \ntype: integer nullable\n\n**psi_crux_cls_category**: Your CLS category will be either Good (<0.1), Needs Improvement (0.1 - 0.25), or Poor (>0.25). The category is based on the lowest threshold that includes 75% of page views. [Learn more](https://ahrefs.com/blog/core-web-vitals/)  \ntype: string nullable\n\n**psi_crux_cls_category_prev**: Your CLS category will be either Good (<0.1), Needs Improvement (0.1 - 0.25), or Poor (>0.25). The category is based on the lowest threshold that includes 75% of page views. [Learn more](https://ahrefs.com/blog/core-web-vitals/)  \ntype: string nullable\n\n**psi_crux_cls_distributions_proportion**: What % of collected CLS metrics are in each associated threshold, which categorize performance as either \"Good\", \"Needs Improvement\", or \"Poor\". [Learn more](https://ahrefs.com/blog/core-web-vitals/)  \ntype: array(float nullable)\n\n**psi_crux_cls_distributions_proportion_prev**: What % of collected CLS metrics are in each associated threshold, which categorize performance as either \"Good\", \"Needs Improvement\", or \"Poor\". [Learn more](https://ahrefs.com/blog/core-web-vitals/)  \ntype: array(float nullable)\n\n**psi_crux_cls_percentile**: Cumulative Layout Shift measures visual stability. The range is 0-1, where 0 is stable and 1 means a lot of shifting. This score comes from the Chrome User Experience Report which looks at real user data. [Learn more](https://ahrefs.com/blog/core-web-vitals/)  \ntype: float nullable\n\n**psi_crux_cls_percentile_diff**: Cumulative Layout Shift measures visual stability. The range is 0-1, where 0 is stable and 1 means a lot of shifting. This score comes from the Chrome User Experience Report which looks at real user data. [Learn more](https://ahrefs.com/blog/core-web-vitals/)  \ntype: float nullable\n\n**psi_crux_cls_percentile_prev**: Cumulative Layout Shift measures visual stability. The range is 0-1, where 0 is stable and 1 means a lot of shifting. This score comes from the Chrome User Experience Report which looks at real user data. [Learn more](https://ahrefs.com/blog/core-web-vitals/)  \ntype: float nullable\n\n**psi_crux_fid_category**: Your FID category will be either Good (<100 ms), Needs Improvement (100 ms - 300 ms), or Poor (>300 ms). The category is based on the lowest threshold that includes 75% of page views. [Learn more](https://ahrefs.com/blog/core-web-vitals/)  \ntype: string nullable\n\n**psi_crux_fid_category_prev**: Your FID category will be either Good (<100 ms), Needs Improvement (100 ms - 300 ms), or Poor (>300 ms). The category is based on the lowest threshold that includes 75% of page views. [Learn more](https://ahrefs.com/blog/core-web-vitals/)  \ntype: string nullable\n\n**psi_crux_fid_distributions_proportion**: What % of collected FID metrics are in each associated threshold, which categorize performance as either \"Good\", \"Needs Improvement\", or \"Poor\". [Learn more](https://ahrefs.com/blog/core-web-vitals/)  \ntype: array(float nullable)\n\n**psi_crux_fid_distributions_proportion_prev**: What % of collected FID metrics are in each associated threshold, which categorize performance as either \"Good\", \"Needs Improvement\", or \"Poor\". [Learn more](https://ahrefs.com/blog/core-web-vitals/)  \ntype: array(float nullable)\n\n**psi_crux_fid_percentile**: First Input Delay measures interactivity. This score comes from the Chrome User Experience Report which looks at real user data. [Learn more](https://ahrefs.com/blog/core-web-vitals/)  \ntype: float nullable\n\n**psi_crux_fid_percentile_prev**: First Input Delay measures interactivity. This score comes from the Chrome User Experience Report which looks at real user data. [Learn more](https://ahrefs.com/blog/core-web-vitals/)  \ntype: float nullable\n\n**psi_crux_inp_category**: Your INP category will be either Good (<200 ms), Needs Improvement (200 ms - 500 ms), or Poor (>500 ms). The category is based on the lowest threshold that includes 75% of page views. [Learn more](https://web.dev/inp/)  \ntype: string nullable\n\n**psi_crux_inp_category_prev**: Your INP category will be either Good (<200 ms), Needs Improvement (200 ms - 500 ms), or Poor (>500 ms). The category is based on the lowest threshold that includes 75% of page views. [Learn more](https://web.dev/inp/)  \ntype: string nullable\n\n**psi_crux_inp_distributions_proportion**: What % of collected INP metrics are in each associated threshold, which categorize performance as either \"Good\", \"Needs Improvement\", or \"Poor\". [Learn more](https://web.dev/inp/)  \ntype: array(float nullable)\n\n**psi_crux_inp_distributions_proportion_prev**: What % of collected INP metrics are in each associated threshold, which categorize performance as either \"Good\", \"Needs Improvement\", or \"Poor\". [Learn more](https://web.dev/inp/)  \ntype: array(float nullable)\n\n**psi_crux_inp_percentile**: Interaction to Next Paint measure overall responsiveness of a page to user interactions. This score comes from the Chrome User Experience Report which looks at real user data. [Learn more](https://web.dev/inp/)  \ntype: float nullable\n\n**psi_crux_inp_percentile_diff**: Interaction to Next Paint measure overall responsiveness of a page to user interactions. This score comes from the Chrome User Experience Report which looks at real user data. [Learn more](https://web.dev/inp/)  \ntype: float nullable\n\n**psi_crux_inp_percentile_prev**: Interaction to Next Paint measure overall responsiveness of a page to user interactions. This score comes from the Chrome User Experience Report which looks at real user data. [Learn more](https://web.dev/inp/)  \ntype: float nullable\n\n**psi_crux_lcp_category**: Your LCP category will be either Good (<2.5 sec), Needs Improvement (2.5 sec - 4.0 sec), or Poor (>4.0 sec). The category is based on the lowest threshold that includes 75% of page views. [Learn more](https://ahrefs.com/blog/core-web-vitals/)  \ntype: string nullable\n\n**psi_crux_lcp_category_prev**: Your LCP category will be either Good (<2.5 sec), Needs Improvement (2.5 sec - 4.0 sec), or Poor (>4.0 sec). The category is based on the lowest threshold that includes 75% of page views. [Learn more](https://ahrefs.com/blog/core-web-vitals/)  \ntype: string nullable\n\n**psi_crux_lcp_distributions_proportion**: What % of collected LCP metrics are in each associated threshold, which categorize performance as either \"Good\", \"Needs Improvement\", or \"Poor\". [Learn more](https://ahrefs.com/blog/core-web-vitals/)  \ntype: array(float nullable)\n\n**psi_crux_lcp_distributions_proportion_prev**: What % of collected LCP metrics are in each associated threshold, which categorize performance as either \"Good\", \"Needs Improvement\", or \"Poor\". [Learn more](https://ahrefs.com/blog/core-web-vitals/)  \ntype: array(float nullable)\n\n**psi_crux_lcp_percentile**: Largest Contentful Paint measures visual loading performance. This score comes from the Chrome User Experience Report which looks at real user data. [Learn more](https://ahrefs.com/blog/core-web-vitals/)  \ntype: float nullable\n\n**psi_crux_lcp_percentile_diff**: Largest Contentful Paint measures visual loading performance. This score comes from the Chrome User Experience Report which looks at real user data. [Learn more](https://ahrefs.com/blog/core-web-vitals/)  \ntype: float nullable\n\n**psi_crux_lcp_percentile_prev**: Largest Contentful Paint measures visual loading performance. This score comes from the Chrome User Experience Report which looks at real user data. [Learn more](https://ahrefs.com/blog/core-web-vitals/)  \ntype: float nullable\n\n**psi_lighthouse_cls_error_message**: The message returned by Lighthouse if there is an error when measuring CLS  \ntype: string nullable\n\n**psi_lighthouse_cls_error_message_prev**: The message returned by Lighthouse if there is an error when measuring CLS  \ntype: string nullable\n\n**psi_lighthouse_cls_value**: Cumulative Layout Shift measures visual stability. The range is 0-1, where 0 is stable and 1 means a lot of shifting. This score comes from Lighthouse in a simulated test environment. [Learn more](https://ahrefs.com/blog/core-web-vitals/)  \ntype: float nullable\n\n**psi_lighthouse_cls_value_diff**: Cumulative Layout Shift measures visual stability. The range is 0-1, where 0 is stable and 1 means a lot of shifting. This score comes from Lighthouse in a simulated test environment. [Learn more](https://ahrefs.com/blog/core-web-vitals/)  \ntype: float nullable\n\n**psi_lighthouse_cls_value_prev**: Cumulative Layout Shift measures visual stability. The range is 0-1, where 0 is stable and 1 means a lot of shifting. This score comes from Lighthouse in a simulated test environment. [Learn more](https://ahrefs.com/blog/core-web-vitals/)  \ntype: float nullable\n\n**psi_lighthouse_lcp_error_message**: The message returned by Lighthouse if there is an error when measuring LCP  \ntype: string nullable\n\n**psi_lighthouse_lcp_error_message_prev**: The message returned by Lighthouse if there is an error when measuring LCP  \ntype: string nullable\n\n**psi_lighthouse_lcp_value**: Largest Contentful Paint measures visual loading performance. This score comes from Lighthouse in a simulated test environment. [Learn more](https://ahrefs.com/blog/core-web-vitals/)  \ntype: float nullable\n\n**psi_lighthouse_lcp_value_diff**: Largest Contentful Paint measures visual loading performance. This score comes from Lighthouse in a simulated test environment. [Learn more](https://ahrefs.com/blog/core-web-vitals/)  \ntype: float nullable\n\n**psi_lighthouse_lcp_value_prev**: Largest Contentful Paint measures visual loading performance. This score comes from Lighthouse in a simulated test environment. [Learn more](https://ahrefs.com/blog/core-web-vitals/)  \ntype: float nullable\n\n**psi_lighthouse_score**: This score uses multiple Lighthouse speed metrics to create a summary of the page's performance and use of best practices. Scores will be considered Good (>90), Needs Improvement (50-90), or Poor (<50). [Learn more](https://web.dev/performance-scoring/)  \ntype: integer nullable\n\n**psi_lighthouse_score_prev**: This score uses multiple Lighthouse speed metrics to create a summary of the page's performance and use of best practices. Scores will be considered Good (>90), Needs Improvement (50-90), or Poor (<50). [Learn more](https://web.dev/performance-scoring/)  \ntype: integer nullable\n\n**psi_lighthouse_tbt_error_message**: The message returned by Lighthouse if there is an error when measuring TBT  \ntype: string nullable\n\n**psi_lighthouse_tbt_error_message_prev**: The message returned by Lighthouse if there is an error when measuring TBT  \ntype: string nullable\n\n**psi_lighthouse_tbt_value**: Total Blocking Time measures the total amount of time that a page is blocked from responding to user interactions. This score comes from Lighthouse in a simulated test environment. TBT is the recommended alternative to FID for lab tests. [Learn more](https://ahrefs.com/blog/core-web-vitals/)  \ntype: float nullable\n\n**psi_lighthouse_tbt_value_diff**: Total Blocking Time measures the total amount of time that a page is blocked from responding to user interactions. This score comes from Lighthouse in a simulated test environment. TBT is the recommended alternative to FID for lab tests. [Learn more](https://ahrefs.com/blog/core-web-vitals/)  \ntype: float nullable\n\n**psi_lighthouse_tbt_value_prev**: Total Blocking Time measures the total amount of time that a page is blocked from responding to user interactions. This score comes from Lighthouse in a simulated test environment. TBT is the recommended alternative to FID for lab tests. [Learn more](https://ahrefs.com/blog/core-web-vitals/)  \ntype: float nullable\n\n**psi_mobile_issues**: List of mobile-related issues on the page detected by Lighthouse  \ntype: array(string)\n\n**psi_mobile_issues_explanations**: Details about the mobile issues detected by Lighthouse  \ntype: array(string)\n\n**psi_mobile_issues_explanations_prev**: Details about the mobile issues detected by Lighthouse  \ntype: array(string)\n\n**psi_mobile_issues_prev**: List of mobile-related issues on the page detected by Lighthouse  \ntype: array(string)\n\n**psi_request_error_message**: The message returned by PageSpeed Insights API if there is an error. [Learn more](https://help.ahrefs.com/en/articles/5369589-how-to-see-core-web-vitals-and-other-speed-metrics-in-site-audit-tool)  \ntype: string nullable\n\n**psi_request_status**: The result of a request to PageSpeed Insights API. [Learn more](https://help.ahrefs.com/en/articles/5369589-how-to-see-core-web-vitals-and-other-speed-metrics-in-site-audit-tool)  \ntype: string nullable\n\n**redirect**: The destination of the redirecting URL  \ntype: url nullable\n\n**redirect_chain_urls**: The list of redirect chain URLs  \ntype: array(url)\n\n**redirect_chain_urls_code**: The list of HTTP status codes returned by the redirect chain URLs  \ntype: array(integer nullable)\n\n**redirect_chain_urls_code_prev**: The list of HTTP status codes returned by the redirect chain URLs  \ntype: array(integer nullable)\n\n**redirect_chain_urls_no_crawl_reason**: The reasons why the redirect chain URLs were not crawled  \ntype: array(string nullable)\n\n**redirect_chain_urls_no_crawl_reason_prev**: The reasons why the redirect chain URLs were not crawled  \ntype: array(string nullable)\n\n**redirect_chain_urls_prev**: The list of redirect chain URLs  \ntype: array(url)\n\n**redirect_chain_urls_prev**: The list of redirect chain URLs  \ntype: array(url)\n\n**redirect_code**: The HTTP status code of the destination of the redirecting URL  \ntype: integer nullable\n\n**redirect_code_prev**: The HTTP status code of the destination of the redirecting URL  \ntype: integer nullable\n\n**redirect_counts**: The number of incoming external links pointing to the URL via a redirect. Not to be confused with the number of linking pages, as one page can contain multiple backlinks  \ntype: integer nullable\n\n**redirect_counts_diff**: The number of incoming external links pointing to the URL via a redirect. Not to be confused with the number of linking pages, as one page can contain multiple backlinks  \ntype: integer nullable\n\n**redirect_counts_prev**: The number of incoming external links pointing to the URL via a redirect. Not to be confused with the number of linking pages, as one page can contain multiple backlinks  \ntype: integer nullable\n\n**redirect_is_canonical**: Indicates whether the target page tags itself as the canonical version to be shown in search results. A page is considered as canonical when it doesn't refer to any other pages as canonical  \ntype: boolean nullable\n\n**redirect_is_canonical_prev**: Indicates whether the target page tags itself as the canonical version to be shown in search results. A page is considered as canonical when it doesn't refer to any other pages as canonical  \ntype: boolean nullable\n\n**redirect_no_crawl_reason**: The reason why the destination of the redirecting URL was not crawled  \ntype: string nullable\n\n**redirect_no_crawl_reason_prev**: The reason why the destination of the redirecting URL was not crawled  \ntype: string nullable\n\n**redirect_prev**: The destination of the redirecting URL  \ntype: url nullable\n\n**redirect_scheme**: The protocol of the redirecting URL  \ntype: string nullable\n\n**redirect_scheme_prev**: The protocol of the redirecting URL  \ntype: string nullable\n\n**refclass_c**: The number of IP networks that have websites with at least 1 link pointing to the URL. An IP network consists of IP addresses sharing the first three numbers of their numerical label. Example: 151.80.39.61 is the website IP address where 151.80.39.XXX is the IP network  \ntype: integer nullable\n\n**refclass_c_diff**: The number of IP networks that have websites with at least 1 link pointing to the URL. An IP network consists of IP addresses sharing the first three numbers of their numerical label. Example: 151.80.39.61 is the website IP address where 151.80.39.XXX is the IP network  \ntype: integer nullable\n\n**refclass_c_prev**: The number of IP networks that have websites with at least 1 link pointing to the URL. An IP network consists of IP addresses sharing the first three numbers of their numerical label. Example: 151.80.39.61 is the website IP address where 151.80.39.XXX is the IP network  \ntype: integer nullable\n\n**refhosts**: The number of unique external domains that have at least 1 link pointing to the URL (data from Ahrefs' Site Explorer database)  \ntype: integer nullable\n\n**refhosts_diff**: The number of unique external domains that have at least 1 link pointing to the URL (data from Ahrefs' Site Explorer database)  \ntype: integer nullable\n\n**refhosts_prev**: The number of unique external domains that have at least 1 link pointing to the URL (data from Ahrefs' Site Explorer database)  \ntype: integer nullable\n\n**refips**: The number of unique external IP addresses that incorporate websites with at least 1 link pointing to the URL. Several domains can share one IP address  \ntype: integer nullable\n\n**refips_diff**: The number of unique external IP addresses that incorporate websites with at least 1 link pointing to the URL. Several domains can share one IP address  \ntype: integer nullable\n\n**refips_prev**: The number of unique external IP addresses that incorporate websites with at least 1 link pointing to the URL. Several domains can share one IP address  \ntype: integer nullable\n\n**refpages**: The number of unique external pages linking to the URL (data from Ahrefs' Site Explorer database)  \ntype: integer nullable\n\n**refpages_diff**: The number of unique external pages linking to the URL (data from Ahrefs' Site Explorer database)  \ntype: integer nullable\n\n**refpages_prev**: The number of unique external pages linking to the URL (data from Ahrefs' Site Explorer database)  \ntype: integer nullable\n\n**robots_error**: The error occurred while crawling the robots.txt file  \ntype: string nullable\n\n**robots_error_prev**: The error occurred while crawling the robots.txt file  \ntype: string nullable\n\n**robots_sitemaps**: The list of sitemaps referenced in the robots.txt file  \ntype: array(url nullable)\n\n**robots_sitemaps_prev**: The list of sitemaps referenced in the robots.txt file  \ntype: array(url nullable)\n\n**rss**: The number of incoming external links from RSS feeds (data from Ahrefs' Site Explorer database)  \ntype: integer nullable\n\n**rss_diff**: The number of incoming external links from RSS feeds (data from Ahrefs' Site Explorer database)  \ntype: integer nullable\n\n**rss_prev**: The number of incoming external links from RSS feeds (data from Ahrefs' Site Explorer database)  \ntype: integer nullable\n\n**scheme**: Hypertext Transfer Protocol of the URL (HTTP or HTTPS)  \ntype: string\n\n**scheme_prev**: Hypertext Transfer Protocol of the URL (HTTP or HTTPS)  \ntype: string nullable\n\n**self_canonical**: Indicates that the page has a self-referential canonical URL  \ntype: boolean nullable\n\n**self_canonical_prev**: Indicates that the page has a self-referential canonical URL  \ntype: boolean nullable\n\n**self_hreflang**: Data from hreflang tag with a self-referential URL  \ntype: array(string nullable)\n\n**self_hreflang_code_is_valid**: Indicates that hreflang data is specified properly in hreflang tag with a self-referential URL. The language must be specified in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes), and optionally the region in [ISO 3166-1 Alpha 2 format](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)  \ntype: array(boolean nullable)\n\n**self_hreflang_code_is_valid_prev**: Indicates that hreflang data is specified properly in hreflang tag with a self-referential URL. The language must be specified in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes), and optionally the region in [ISO 3166-1 Alpha 2 format](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)  \ntype: array(boolean nullable)\n\n**self_hreflang_country**: The region specified in the hreflang tag with a self-referential URL  \ntype: array(string nullable)\n\n**self_hreflang_country_prev**: The region specified in the hreflang tag with a self-referential URL  \ntype: array(string nullable)\n\n**self_hreflang_language**: The language specified in the hreflang tag with a self-referential URL  \ntype: array(string nullable)\n\n**self_hreflang_language_prev**: The language specified in the hreflang tag with a self-referential URL  \ntype: array(string nullable)\n\n**self_hreflang_prev**: Data from hreflang tag with a self-referential URL  \ntype: array(string nullable)\n\n**serp_title**: The title displayed for the page in its top keyword's SERP on desktop  \ntype: string nullable\n\n**serp_title_prev**: The title displayed for the page in its top keyword's SERP on desktop  \ntype: string nullable\n\n**sitemap_error**: The error occurred while crawling the sitemap  \ntype: string nullable\n\n**sitemap_error_prev**: The error occurred while crawling the sitemap  \ntype: string nullable\n\n**sitemap_is_index**: Indicates that the sitemap is a sitemap index file  \ntype: boolean nullable\n\n**sitemap_is_index_prev**: Indicates that the sitemap is a sitemap index file  \ntype: boolean nullable\n\n**sitemap_nr_urls**: The number of URLs referenced in the sitemap  \ntype: integer nullable\n\n**sitemap_nr_urls_diff**: The number of URLs referenced in the sitemap  \ntype: integer nullable\n\n**sitemap_nr_urls_prev**: The number of URLs referenced in the sitemap  \ntype: integer nullable\n\n**size**: The size of the page or resource, measured in bytes  \ntype: integer\n\n**size_prev**: The size of the page or resource, measured in bytes  \ntype: integer nullable\n\n**size_uncompressed**: The size of the downloaded page or resource after decompression, measured in bytes  \ntype: integer nullable\n\n**size_uncompressed_diff**: The size of the downloaded page or resource after decompression, measured in bytes  \ntype: integer nullable\n\n**size_uncompressed_prev**: The size of the downloaded page or resource after decompression, measured in bytes  \ntype: integer nullable\n\n**source**: Source from which the URL can be reached  \ntype: array(string)\n\n**source_prev**: Source from which the URL can be reached  \ntype: array(string)\n\n**stamp**: The time and date when the URL was crawled  \ntype: date\n\n**stamp_prev**: The time and date when the URL was crawled  \ntype: date nullable\n\n**time_to_first_byte**: The time it takes for the crawler to receive the first byte of the response from a web server, measured in milliseconds  \ntype: integer\n\n**time_to_first_byte_diff**: The time it takes for the crawler to receive the first byte of the response from a web server, measured in milliseconds  \ntype: integer nullable\n\n**time_to_first_byte_prev**: The time it takes for the crawler to receive the first byte of the response from a web server, measured in milliseconds  \ntype: integer nullable\n\n**title**: The page title  \ntype: array(string)\n\n**title_prev**: The page title  \ntype: array(string)\n\n**titles_length**: The character length of the page title  \ntype: array(integer)\n\n**titles_length_prev**: The character length of the page title  \ntype: array(integer)\n\n**top_keyword**: The keyword that brings the page the most organic traffic across all countries  \ntype: string nullable\n\n**top_keyword_country**: The country in which the page ranks for its top keyword  \ntype: string nullable\n\n**top_keyword_country_prev**: The country in which the page ranks for its top keyword  \ntype: string nullable\n\n**top_keyword_position**: The position that the page holds for its top keyword  \ntype: integer nullable\n\n**top_keyword_position_diff**: The position that the page holds for its top keyword  \ntype: integer nullable\n\n**top_keyword_position_prev**: The position that the page holds for its top keyword  \ntype: integer nullable\n\n**traffic**: Our estimate of monthly organic search traffic coming to the URL (data from Ahrefs Site Explorer). Calculations are based on a mixture of clickstream data, the estimated monthly search volumes of keywords for which the page ranks, and the current ranking position for the URL in the search results. You can learn more [here](https://ahrefs.com/blog/ahrefs-seo-metrics/#organictraffic)  \ntype: float nullable\n\n**traffic_diff**: Our estimate of monthly organic search traffic coming to the URL (data from Ahrefs Site Explorer). Calculations are based on a mixture of clickstream data, the estimated monthly search volumes of keywords for which the page ranks, and the current ranking position for the URL in the search results. You can learn more [here](https://ahrefs.com/blog/ahrefs-seo-metrics/#organictraffic)  \ntype: float nullable\n\n**traffic_prev**: Our estimate of monthly organic search traffic coming to the URL (data from Ahrefs Site Explorer). Calculations are based on a mixture of clickstream data, the estimated monthly search volumes of keywords for which the page ranks, and the current ranking position for the URL in the search results. You can learn more [here](https://ahrefs.com/blog/ahrefs-seo-metrics/#organictraffic)  \ntype: float nullable\n\n**url**: The web address of the page or resource  \ntype: url\n\n**url_prev**: The web address of the page or resource  \ntype: url nullable",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "Indicates which pages to return compared to the previous crawl. If not specified, all URLs that match your filter conditions are returned. `added`: URLs that are a new match for your filter conditions. `new`: URLs that are newly crawled and match your filter conditions. `removed`: URLs that stopped matching your filter conditions. `missing`: URLs that weren't crawled, but previously matched your filter conditions. `no_change`: URLs that match your filter conditions in a crawl and the crawl before it. ",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "added",
                "new",
                "removed",
                "missing",
                "no_change"
              ]
            },
            "name": "filter_mode",
            "in": "query"
          },
          {
            "description": "The unique identifier of an issue. When specified, only URLs affected by this issue are returned. You can get issue IDs by querying the `site-audit/issues` endpoint.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "issue_id",
            "in": "query"
          },
          {
            "description": "A timestamp in `YYYY-MM-DDThh:mm:ss` format specifying the crawl date to compare metrics with. Follows the same rules as the `date` field.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "date_compared",
            "in": "query"
          },
          {
            "description": "A timestamp in `YYYY-MM-DDThh:mm:ss` format specifying the crawl date to retrieve metrics from. Defaults to the most recent available crawl if omitted. For scheduled crawls, we return data from the latest crawl finished before the specified timestamp. For Always-on audit crawls, we return data as of the provided date and time. If the time component is omitted, it defaults to `00:00:00`. The timestamp is interpreted in UTC.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "date",
            "in": "query"
          },
          {
            "description": "The unique identifier of the project. Only projects with verified ownership are supported. You can find the project ID in the URL of your Site Audit project in Ahrefs: `https://app.ahrefs.com/site-audit/#project_id#`",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/site-audit.output_json_php"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/site-audit.page-explorer"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/site-audit.page-explorer"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/site-audit.error_400"
          },
          "401": {
            "$ref": "#/components/responses/site-audit.error_401"
          },
          "403": {
            "$ref": "#/components/responses/site-audit.error_403"
          },
          "429": {
            "$ref": "#/components/responses/site-audit.error_429"
          },
          "500": {
            "$ref": "#/components/responses/site-audit.error_500"
          }
        }
      }
    },
    "/rank-tracker/overview": {
      "get": {
        "tags": [
          "Rank Tracker"
        ],
        "summary": "Overview",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "rank-tracker.overview",
        "parameters": [
          {
            "description": "A manual timeout duration in seconds.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "timeout",
            "in": "query"
          },
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer",
              "default": 1000
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to order results by, with optional direction. See response schema for valid column identifiers.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "examples": [
                "field_a,field_b:asc,field_c:desc"
              ]
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the `select` parameter).\n\n**best_position_has_thumbnail**: The top position (or target URL’s, if set) has a thumbnail.  \ntype: boolean nullable\n\n**best_position_has_thumbnail_previous**: The top position (or target URL’s, if set) has a thumbnail on the comparison date.  \ntype: boolean nullable\n\n**best_position_has_video_preview**: The top position (or target URL’s, if set) has a video preview.  \ntype: boolean nullable\n\n**best_position_has_video_preview_previous**: The top position (or target URL’s, if set) has a video preview on the comparison date.  \ntype: boolean nullable\n\n**best_position_kind**: The kind of top position (or target URL’s, if set): organic, paid, or a SERP feature.  \ntype: string nullable  \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"`\n\n**best_position_kind_previous**: The kind of top position (or target URL’s, if set) on the comparison date.  \ntype: string nullable  \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"`\n\n**clicks**: Clicks metric refers to the average monthly number of clicks on the search results that people make while searching for the target keyword. Some searches generate clicks on multiple results, while others might not end in any clicks at all.  \ntype: integer nullable\n\n**clicks_per_search**: Clicks Per Search is the ratio of Clicks to Keyword Search volume. It shows how many different search results get clicked, on average, when people search for the target keyword in a given country.  \ntype: float nullable\n\n**cost_per_click**: Cost Per Click shows the average price that advertisers pay for each ad click in paid search results for a keyword.  \ntype: integer nullable\n\n**country**: The country that a given keyword is being tracked in. A two-letter country code (ISO 3166-1 alpha-2).  \ntype: string  \nenum: `\"AD\"` `\"AE\"` `\"AF\"` `\"AG\"` `\"AI\"` `\"AL\"` `\"AM\"` `\"AO\"` `\"AQ\"` `\"AR\"` `\"AS\"` `\"AT\"` `\"AU\"` `\"AW\"` `\"AX\"` `\"AZ\"` `\"BA\"` `\"BB\"` `\"BD\"` `\"BE\"` `\"BF\"` `\"BG\"` `\"BH\"` `\"BI\"` `\"BJ\"` `\"BL\"` `\"BM\"` `\"BN\"` `\"BO\"` `\"BQ\"` `\"BR\"` `\"BS\"` `\"BT\"` `\"BV\"` `\"BW\"` `\"BY\"` `\"BZ\"` `\"CA\"` `\"CC\"` `\"CD\"` `\"CF\"` `\"CG\"` `\"CH\"` `\"CI\"` `\"CK\"` `\"CL\"` `\"CM\"` `\"CN\"` `\"CO\"` `\"CR\"` `\"CU\"` `\"CV\"` `\"CW\"` `\"CX\"` `\"CY\"` `\"CZ\"` `\"DE\"` `\"DJ\"` `\"DK\"` `\"DM\"` `\"DO\"` `\"DZ\"` `\"EC\"` `\"EE\"` `\"EG\"` `\"EH\"` `\"ER\"` `\"ES\"` `\"ET\"` `\"FI\"` `\"FJ\"` `\"FK\"` `\"FM\"` `\"FO\"` `\"FR\"` `\"GA\"` `\"GB\"` `\"GD\"` `\"GE\"` `\"GF\"` `\"GG\"` `\"GH\"` `\"GI\"` `\"GL\"` `\"GM\"` `\"GN\"` `\"GP\"` `\"GQ\"` `\"GR\"` `\"GS\"` `\"GT\"` `\"GU\"` `\"GW\"` `\"GY\"` `\"HK\"` `\"HM\"` `\"HN\"` `\"HR\"` `\"HT\"` `\"HU\"` `\"ID\"` `\"IE\"` `\"IL\"` `\"IM\"` `\"IN\"` `\"IO\"` `\"IQ\"` `\"IR\"` `\"IS\"` `\"IT\"` `\"JE\"` `\"JM\"` `\"JO\"` `\"JP\"` `\"KE\"` `\"KG\"` `\"KH\"` `\"KI\"` `\"KM\"` `\"KN\"` `\"KP\"` `\"KR\"` `\"KW\"` `\"KY\"` `\"KZ\"` `\"LA\"` `\"LB\"` `\"LC\"` `\"LI\"` `\"LK\"` `\"LR\"` `\"LS\"` `\"LT\"` `\"LU\"` `\"LV\"` `\"LY\"` `\"MA\"` `\"MC\"` `\"MD\"` `\"ME\"` `\"MF\"` `\"MG\"` `\"MH\"` `\"MK\"` `\"ML\"` `\"MM\"` `\"MN\"` `\"MO\"` `\"MP\"` `\"MQ\"` `\"MR\"` `\"MS\"` `\"MT\"` `\"MU\"` `\"MV\"` `\"MW\"` `\"MX\"` `\"MY\"` `\"MZ\"` `\"NA\"` `\"NC\"` `\"NE\"` `\"NF\"` `\"NG\"` `\"NI\"` `\"NL\"` `\"NO\"` `\"NP\"` `\"NR\"` `\"NU\"` `\"NZ\"` `\"OM\"` `\"OTHER\"` `\"PA\"` `\"PE\"` `\"PF\"` `\"PG\"` `\"PH\"` `\"PK\"` `\"PL\"` `\"PM\"` `\"PN\"` `\"PR\"` `\"PS\"` `\"PT\"` `\"PW\"` `\"PY\"` `\"QA\"` `\"RE\"` `\"RO\"` `\"RS\"` `\"RU\"` `\"RW\"` `\"SA\"` `\"SB\"` `\"SC\"` `\"SD\"` `\"SE\"` `\"SG\"` `\"SH\"` `\"SI\"` `\"SJ\"` `\"SK\"` `\"SL\"` `\"SM\"` `\"SN\"` `\"SO\"` `\"SR\"` `\"SS\"` `\"ST\"` `\"SV\"` `\"SX\"` `\"SY\"` `\"SZ\"` `\"TC\"` `\"TD\"` `\"TF\"` `\"TG\"` `\"TH\"` `\"TJ\"` `\"TK\"` `\"TL\"` `\"TM\"` `\"TN\"` `\"TO\"` `\"TR\"` `\"TT\"` `\"TV\"` `\"TW\"` `\"TZ\"` `\"UA\"` `\"UG\"` `\"UM\"` `\"US\"` `\"UY\"` `\"UZ\"` `\"VA\"` `\"VC\"` `\"VE\"` `\"VG\"` `\"VI\"` `\"VN\"` `\"VU\"` `\"WF\"` `\"WS\"` `\"YE\"` `\"YT\"` `\"ZA\"` `\"ZM\"` `\"ZW\"`\n\n**country_prev**: The country that a given keyword is being tracked in on the comparison date. A two-letter country code (ISO 3166-1 alpha-2).  \ntype: string  \nenum: `\"AD\"` `\"AE\"` `\"AF\"` `\"AG\"` `\"AI\"` `\"AL\"` `\"AM\"` `\"AO\"` `\"AQ\"` `\"AR\"` `\"AS\"` `\"AT\"` `\"AU\"` `\"AW\"` `\"AX\"` `\"AZ\"` `\"BA\"` `\"BB\"` `\"BD\"` `\"BE\"` `\"BF\"` `\"BG\"` `\"BH\"` `\"BI\"` `\"BJ\"` `\"BL\"` `\"BM\"` `\"BN\"` `\"BO\"` `\"BQ\"` `\"BR\"` `\"BS\"` `\"BT\"` `\"BV\"` `\"BW\"` `\"BY\"` `\"BZ\"` `\"CA\"` `\"CC\"` `\"CD\"` `\"CF\"` `\"CG\"` `\"CH\"` `\"CI\"` `\"CK\"` `\"CL\"` `\"CM\"` `\"CN\"` `\"CO\"` `\"CR\"` `\"CU\"` `\"CV\"` `\"CW\"` `\"CX\"` `\"CY\"` `\"CZ\"` `\"DE\"` `\"DJ\"` `\"DK\"` `\"DM\"` `\"DO\"` `\"DZ\"` `\"EC\"` `\"EE\"` `\"EG\"` `\"EH\"` `\"ER\"` `\"ES\"` `\"ET\"` `\"FI\"` `\"FJ\"` `\"FK\"` `\"FM\"` `\"FO\"` `\"FR\"` `\"GA\"` `\"GB\"` `\"GD\"` `\"GE\"` `\"GF\"` `\"GG\"` `\"GH\"` `\"GI\"` `\"GL\"` `\"GM\"` `\"GN\"` `\"GP\"` `\"GQ\"` `\"GR\"` `\"GS\"` `\"GT\"` `\"GU\"` `\"GW\"` `\"GY\"` `\"HK\"` `\"HM\"` `\"HN\"` `\"HR\"` `\"HT\"` `\"HU\"` `\"ID\"` `\"IE\"` `\"IL\"` `\"IM\"` `\"IN\"` `\"IO\"` `\"IQ\"` `\"IR\"` `\"IS\"` `\"IT\"` `\"JE\"` `\"JM\"` `\"JO\"` `\"JP\"` `\"KE\"` `\"KG\"` `\"KH\"` `\"KI\"` `\"KM\"` `\"KN\"` `\"KP\"` `\"KR\"` `\"KW\"` `\"KY\"` `\"KZ\"` `\"LA\"` `\"LB\"` `\"LC\"` `\"LI\"` `\"LK\"` `\"LR\"` `\"LS\"` `\"LT\"` `\"LU\"` `\"LV\"` `\"LY\"` `\"MA\"` `\"MC\"` `\"MD\"` `\"ME\"` `\"MF\"` `\"MG\"` `\"MH\"` `\"MK\"` `\"ML\"` `\"MM\"` `\"MN\"` `\"MO\"` `\"MP\"` `\"MQ\"` `\"MR\"` `\"MS\"` `\"MT\"` `\"MU\"` `\"MV\"` `\"MW\"` `\"MX\"` `\"MY\"` `\"MZ\"` `\"NA\"` `\"NC\"` `\"NE\"` `\"NF\"` `\"NG\"` `\"NI\"` `\"NL\"` `\"NO\"` `\"NP\"` `\"NR\"` `\"NU\"` `\"NZ\"` `\"OM\"` `\"OTHER\"` `\"PA\"` `\"PE\"` `\"PF\"` `\"PG\"` `\"PH\"` `\"PK\"` `\"PL\"` `\"PM\"` `\"PN\"` `\"PR\"` `\"PS\"` `\"PT\"` `\"PW\"` `\"PY\"` `\"QA\"` `\"RE\"` `\"RO\"` `\"RS\"` `\"RU\"` `\"RW\"` `\"SA\"` `\"SB\"` `\"SC\"` `\"SD\"` `\"SE\"` `\"SG\"` `\"SH\"` `\"SI\"` `\"SJ\"` `\"SK\"` `\"SL\"` `\"SM\"` `\"SN\"` `\"SO\"` `\"SR\"` `\"SS\"` `\"ST\"` `\"SV\"` `\"SX\"` `\"SY\"` `\"SZ\"` `\"TC\"` `\"TD\"` `\"TF\"` `\"TG\"` `\"TH\"` `\"TJ\"` `\"TK\"` `\"TL\"` `\"TM\"` `\"TN\"` `\"TO\"` `\"TR\"` `\"TT\"` `\"TV\"` `\"TW\"` `\"TZ\"` `\"UA\"` `\"UG\"` `\"UM\"` `\"US\"` `\"UY\"` `\"UZ\"` `\"VA\"` `\"VC\"` `\"VE\"` `\"VG\"` `\"VI\"` `\"VN\"` `\"VU\"` `\"WF\"` `\"WS\"` `\"YE\"` `\"YT\"` `\"ZA\"` `\"ZM\"` `\"ZW\"`\n\n**created_at**: The date when a keyword was added to the project.  \ntype: datetime\n\n**is_branded**: User intent: branded. The user is searching for a specific brand or company name.  \ntype: boolean\n\n**is_commercial**: User intent: commercial. The user is comparing products or services before making a purchase decision.  \ntype: boolean\n\n**is_informational**: User intent: informational. The user is looking for information or an answer to a specific question.  \ntype: boolean\n\n**is_local**: User intent: local. The user is looking for information relevant to a specific location or nearby services.  \ntype: boolean\n\n**is_main_position**: Excludes positions in Ai Overview, Sitelinks, Top stories, Image packs, Videos, Discussions and forums, and posts on X (Twitter).  \ntype: boolean\n\n**is_main_position_prev**: Excludes positions in Ai Overview, Sitelinks, Top stories, Image packs, Videos, Discussions and forums, and posts on X (Twitter) on the comparison date.  \ntype: boolean\n\n**is_navigational**: User intent: navigational. The user is searching for a specific website or web page.  \ntype: boolean\n\n**is_transactional**: User intent: transactional. The user is ready to complete an action, often a purchase.  \ntype: boolean\n\n**keyword**: The keyword your target ranks for.  \ntype: string\n\n**keyword_difficulty**: An estimation of how hard it is to rank in the top 10 organic search results for a keyword on a 100-point scale.  \ntype: integer nullable\n\n**keyword_has_data**: Will return `false` if the keyword is still processing and no SERP has been fetched yet.  \ntype: boolean\n\n**keyword_is_frozen**: Indicates whether a keyword has exceeded the tracked keywords limit on your plan. Such keywords are \"frozen\", meaning they do not have their rankings updated.  \ntype: boolean\n\n**keyword_prev**: The keyword your target ranks for on the comparison date.  \ntype: string\n\n**keyword_words**: The number of words in a keyword.  \ntype: integer\n\n**keyword_words_prev**: The number of words in a keyword on the comparison date.  \ntype: integer\n\n**language**: The SERP language that a given keyword is being tracked for.  \ntype: string\n\n**language_prev**: The SERP language on the comparison date.  \ntype: string\n\n**location**: The location (country, state/province, or city) that a given keyword is being tracked in.  \ntype: string\n\n**location_prev**: The location (country, state/province, or city) that a given keyword is being tracked in on the comparison date.  \ntype: string\n\n**parent_topic**: Parent Topic determines if you can rank for your target keyword while targeting a more general topic on your page instead.  To identify the Parent Topic, we take the #1 ranking page for your keyword and find the keyword responsible for sending the most traffic to that page.  \ntype: string nullable\n\n**position**: The top position (or target URL’s, if set) in organic search.  \ntype: integer nullable\n\n**position_diff**: The change in top position (or target URL’s, if set) between selected dates.  \ntype: integer nullable\n\n**position_prev**: The top position (or target URL’s, if set) on the comparison date.  \ntype: integer nullable\n\n**search_type_image**: Search type Image shows the percentage of searches for a keyword made for images, highlighting interest in visual content.  \ntype: float nullable\n\n**search_type_news**: Search type News shows the percentage of searches for a keyword made for news articles.  \ntype: float nullable\n\n**search_type_video**: Search type Video shows the percentage of searches for a keyword made for video, reflecting interest in video content.  \ntype: float nullable\n\n**search_type_web**: Search type Web shows the percentage of searches for a keyword made for general web content, indicating interest in a wide range of information.  \ntype: float nullable\n\n**serp_features**: The SERP features that appear in search results for a keyword.  \ntype: array(string)  \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"` `\"image_th\"` `\"video_th\"` `\"ai_overview_found\"`\n\n**serp_features_prev**: The SERP features that appear in search results for a keyword on the comparison date.  \ntype: array(string)  \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"` `\"image_th\"` `\"video_th\"` `\"ai_overview_found\"`\n\n**serp_updated**: The date when we last checked search engine results for a keyword.  \ntype: datetime nullable\n\n**serp_updated_prev**: The date when we checked search engine results up to the comparison date.  \ntype: datetime nullable\n\n**tags**: A list of tags assigned to a given keyword.  \ntype: array(string)\n\n**tags_prev**: A list of tags assigned to a given keyword on the comparison date.  \ntype: array(string)\n\n**target_positions_count**: The number of target URLs ranking for a keyword.  \ntype: integer\n\n**traffic**: An estimation of the number of monthly visits that a page gets from organic search over the latest month or over the latest known 12 months of data depending on the \"volume_mode\" parameter.  \ntype: integer nullable\n\n**traffic_diff**: The change in traffic between your selected dates.  \ntype: integer nullable\n\n**traffic_prev**: An estimation of the number of monthly visits that a page gets from organic search over the latest month or over the latest known 12 months of data depending on the \"volume_mode\" parameter.  \ntype: integer nullable\n\n**url**: The top-ranking URL (or target URL, if set) in organic search.  \ntype: string nullable\n\n**url_prev**: The top-ranking URL (or target URL, if set) on the comparison date.  \ntype: string nullable\n\n**volume**: An estimation of the average monthly number of searches for a keyword over the latest month or over the latest known 12 months of data depending on the \"volume_mode\" parameter.  \ntype: integer nullable\n\n**volume_desktop_pct**: The percentage of the total search volume that comes from desktop devices.  \ntype: float nullable\n\n**volume_mobile_pct**: The percentage of the total search volume that comes from mobile devices.  \ntype: float nullable",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "select",
            "in": "query"
          },
          {
            "description": "A date to compare metrics with in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_compared",
            "in": "query"
          },
          {
            "description": "A date to report metrics on in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date",
            "in": "query"
          },
          {
            "description": "Choose between mobile and desktop rankings.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "desktop",
                "mobile"
              ]
            },
            "name": "device",
            "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": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "description": "The search volume calculation mode: monthly or average. It affects volume, traffic, and traffic value.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "monthly",
                "average"
              ],
              "default": "monthly"
            },
            "name": "volume_mode",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/rank-tracker.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rank-tracker.overview"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/rank-tracker.overview"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/rank-tracker.error_400"
          },
          "401": {
            "$ref": "#/components/responses/rank-tracker.error_401"
          },
          "403": {
            "$ref": "#/components/responses/rank-tracker.error_403"
          },
          "429": {
            "$ref": "#/components/responses/rank-tracker.error_429"
          },
          "500": {
            "$ref": "#/components/responses/rank-tracker.error_500"
          }
        }
      }
    },
    "/rank-tracker/competitors-overview": {
      "get": {
        "tags": [
          "Rank Tracker"
        ],
        "summary": "Competitors overview",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "rank-tracker.competitors-overview",
        "parameters": [
          {
            "description": "A manual timeout duration in seconds.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "timeout",
            "in": "query"
          },
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer",
              "default": 1000
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to order results by, with optional direction. See response schema for valid column identifiers.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "examples": [
                "field_a,field_b:asc,field_c:desc"
              ]
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the `select` parameter).\n\n**country**: The country that a given keyword is being tracked in. A two-letter country code (ISO 3166-1 alpha-2).  \ntype: string  \nenum: `\"AD\"` `\"AE\"` `\"AF\"` `\"AG\"` `\"AI\"` `\"AL\"` `\"AM\"` `\"AO\"` `\"AQ\"` `\"AR\"` `\"AS\"` `\"AT\"` `\"AU\"` `\"AW\"` `\"AX\"` `\"AZ\"` `\"BA\"` `\"BB\"` `\"BD\"` `\"BE\"` `\"BF\"` `\"BG\"` `\"BH\"` `\"BI\"` `\"BJ\"` `\"BL\"` `\"BM\"` `\"BN\"` `\"BO\"` `\"BQ\"` `\"BR\"` `\"BS\"` `\"BT\"` `\"BV\"` `\"BW\"` `\"BY\"` `\"BZ\"` `\"CA\"` `\"CC\"` `\"CD\"` `\"CF\"` `\"CG\"` `\"CH\"` `\"CI\"` `\"CK\"` `\"CL\"` `\"CM\"` `\"CN\"` `\"CO\"` `\"CR\"` `\"CU\"` `\"CV\"` `\"CW\"` `\"CX\"` `\"CY\"` `\"CZ\"` `\"DE\"` `\"DJ\"` `\"DK\"` `\"DM\"` `\"DO\"` `\"DZ\"` `\"EC\"` `\"EE\"` `\"EG\"` `\"EH\"` `\"ER\"` `\"ES\"` `\"ET\"` `\"FI\"` `\"FJ\"` `\"FK\"` `\"FM\"` `\"FO\"` `\"FR\"` `\"GA\"` `\"GB\"` `\"GD\"` `\"GE\"` `\"GF\"` `\"GG\"` `\"GH\"` `\"GI\"` `\"GL\"` `\"GM\"` `\"GN\"` `\"GP\"` `\"GQ\"` `\"GR\"` `\"GS\"` `\"GT\"` `\"GU\"` `\"GW\"` `\"GY\"` `\"HK\"` `\"HM\"` `\"HN\"` `\"HR\"` `\"HT\"` `\"HU\"` `\"ID\"` `\"IE\"` `\"IL\"` `\"IM\"` `\"IN\"` `\"IO\"` `\"IQ\"` `\"IR\"` `\"IS\"` `\"IT\"` `\"JE\"` `\"JM\"` `\"JO\"` `\"JP\"` `\"KE\"` `\"KG\"` `\"KH\"` `\"KI\"` `\"KM\"` `\"KN\"` `\"KP\"` `\"KR\"` `\"KW\"` `\"KY\"` `\"KZ\"` `\"LA\"` `\"LB\"` `\"LC\"` `\"LI\"` `\"LK\"` `\"LR\"` `\"LS\"` `\"LT\"` `\"LU\"` `\"LV\"` `\"LY\"` `\"MA\"` `\"MC\"` `\"MD\"` `\"ME\"` `\"MF\"` `\"MG\"` `\"MH\"` `\"MK\"` `\"ML\"` `\"MM\"` `\"MN\"` `\"MO\"` `\"MP\"` `\"MQ\"` `\"MR\"` `\"MS\"` `\"MT\"` `\"MU\"` `\"MV\"` `\"MW\"` `\"MX\"` `\"MY\"` `\"MZ\"` `\"NA\"` `\"NC\"` `\"NE\"` `\"NF\"` `\"NG\"` `\"NI\"` `\"NL\"` `\"NO\"` `\"NP\"` `\"NR\"` `\"NU\"` `\"NZ\"` `\"OM\"` `\"OTHER\"` `\"PA\"` `\"PE\"` `\"PF\"` `\"PG\"` `\"PH\"` `\"PK\"` `\"PL\"` `\"PM\"` `\"PN\"` `\"PR\"` `\"PS\"` `\"PT\"` `\"PW\"` `\"PY\"` `\"QA\"` `\"RE\"` `\"RO\"` `\"RS\"` `\"RU\"` `\"RW\"` `\"SA\"` `\"SB\"` `\"SC\"` `\"SD\"` `\"SE\"` `\"SG\"` `\"SH\"` `\"SI\"` `\"SJ\"` `\"SK\"` `\"SL\"` `\"SM\"` `\"SN\"` `\"SO\"` `\"SR\"` `\"SS\"` `\"ST\"` `\"SV\"` `\"SX\"` `\"SY\"` `\"SZ\"` `\"TC\"` `\"TD\"` `\"TF\"` `\"TG\"` `\"TH\"` `\"TJ\"` `\"TK\"` `\"TL\"` `\"TM\"` `\"TN\"` `\"TO\"` `\"TR\"` `\"TT\"` `\"TV\"` `\"TW\"` `\"TZ\"` `\"UA\"` `\"UG\"` `\"UM\"` `\"US\"` `\"UY\"` `\"UZ\"` `\"VA\"` `\"VC\"` `\"VE\"` `\"VG\"` `\"VI\"` `\"VN\"` `\"VU\"` `\"WF\"` `\"WS\"` `\"YE\"` `\"YT\"` `\"ZA\"` `\"ZM\"` `\"ZW\"`\n\n**is_main_position**: Excludes positions in Ai Overview, Sitelinks, Top stories, Image packs, Videos, Discussions and forums, and posts on X (Twitter).  \ntype: boolean\n\n**is_main_position_prev**: Excludes positions in Ai Overview, Sitelinks, Top stories, Image packs, Videos, Discussions and forums, and posts on X (Twitter) on the comparison date.  \ntype: boolean\n\n**keyword**: The keyword your target ranks for.  \ntype: string\n\n**keyword_difficulty**: An estimation of how hard it is to rank in the top 10 organic search results for a keyword on a 100-point scale.  \ntype: integer nullable\n\n**keyword_has_data**: Will return `false` if the keyword is still processing and no SERP has been fetched yet.  \ntype: boolean\n\n**keyword_is_frozen**: Indicates whether a keyword has exceeded the tracked keywords limit on your plan. Such keywords are \"frozen\", meaning they do not have their rankings updated.  \ntype: boolean\n\n**language**: The SERP language that a given keyword is being tracked for.  \ntype: string\n\n**location**: The location (country, state/province, or city) that a given keyword is being tracked in.  \ntype: string\n\n**serp_features**: The SERP features that appear in search results for a keyword.  \ntype: array(string)  \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"` `\"image_th\"` `\"video_th\"` `\"ai_overview_found\"`\n\n**serp_updated**: The date when we last checked search engine results for a keyword.  \ntype: datetime nullable\n\n**serp_updated_prev**: The date when we checked search engine results up to the comparison date.  \ntype: datetime nullable\n\n**tags**: A list of tags assigned to a given keyword.  \ntype: array(string)\n\n**volume**: An estimation of the average monthly number of searches for a keyword over the latest month or over the latest known 12 months of data depending on the \"volume_mode\" parameter.  \ntype: integer nullable",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "select",
            "in": "query"
          },
          {
            "description": "A date to compare metrics with in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_compared",
            "in": "query"
          },
          {
            "description": "A date to report metrics on in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date",
            "in": "query"
          },
          {
            "description": "Choose between mobile and desktop rankings.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "desktop",
                "mobile"
              ]
            },
            "name": "device",
            "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": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "description": "The search volume calculation mode: monthly or average. It affects volume, traffic, and traffic value.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "monthly",
                "average"
              ],
              "default": "monthly"
            },
            "name": "volume_mode",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/rank-tracker.output_json_php"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rank-tracker.competitors-overview"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/rank-tracker.competitors-overview"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/rank-tracker.error_400"
          },
          "401": {
            "$ref": "#/components/responses/rank-tracker.error_401"
          },
          "403": {
            "$ref": "#/components/responses/rank-tracker.error_403"
          },
          "429": {
            "$ref": "#/components/responses/rank-tracker.error_429"
          },
          "500": {
            "$ref": "#/components/responses/rank-tracker.error_500"
          }
        }
      }
    },
    "/rank-tracker/competitors-pages": {
      "get": {
        "tags": [
          "Rank Tracker"
        ],
        "summary": "Competitors pages",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "rank-tracker.competitors-pages",
        "parameters": [
          {
            "description": "A manual timeout duration in seconds.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "timeout",
            "in": "query"
          },
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer",
              "default": 1000
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to order results by, with optional direction. See response schema for valid column identifiers.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "examples": [
                "field_a,field_b:asc,field_c:desc"
              ]
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the `select` parameter).\n\n**country**: The country that a given keyword is being tracked in. A two-letter country code (ISO 3166-1 alpha-2).  \ntype: string  \nenum: `\"AD\"` `\"AE\"` `\"AF\"` `\"AG\"` `\"AI\"` `\"AL\"` `\"AM\"` `\"AO\"` `\"AQ\"` `\"AR\"` `\"AS\"` `\"AT\"` `\"AU\"` `\"AW\"` `\"AX\"` `\"AZ\"` `\"BA\"` `\"BB\"` `\"BD\"` `\"BE\"` `\"BF\"` `\"BG\"` `\"BH\"` `\"BI\"` `\"BJ\"` `\"BL\"` `\"BM\"` `\"BN\"` `\"BO\"` `\"BQ\"` `\"BR\"` `\"BS\"` `\"BT\"` `\"BV\"` `\"BW\"` `\"BY\"` `\"BZ\"` `\"CA\"` `\"CC\"` `\"CD\"` `\"CF\"` `\"CG\"` `\"CH\"` `\"CI\"` `\"CK\"` `\"CL\"` `\"CM\"` `\"CN\"` `\"CO\"` `\"CR\"` `\"CU\"` `\"CV\"` `\"CW\"` `\"CX\"` `\"CY\"` `\"CZ\"` `\"DE\"` `\"DJ\"` `\"DK\"` `\"DM\"` `\"DO\"` `\"DZ\"` `\"EC\"` `\"EE\"` `\"EG\"` `\"EH\"` `\"ER\"` `\"ES\"` `\"ET\"` `\"FI\"` `\"FJ\"` `\"FK\"` `\"FM\"` `\"FO\"` `\"FR\"` `\"GA\"` `\"GB\"` `\"GD\"` `\"GE\"` `\"GF\"` `\"GG\"` `\"GH\"` `\"GI\"` `\"GL\"` `\"GM\"` `\"GN\"` `\"GP\"` `\"GQ\"` `\"GR\"` `\"GS\"` `\"GT\"` `\"GU\"` `\"GW\"` `\"GY\"` `\"HK\"` `\"HM\"` `\"HN\"` `\"HR\"` `\"HT\"` `\"HU\"` `\"ID\"` `\"IE\"` `\"IL\"` `\"IM\"` `\"IN\"` `\"IO\"` `\"IQ\"` `\"IR\"` `\"IS\"` `\"IT\"` `\"JE\"` `\"JM\"` `\"JO\"` `\"JP\"` `\"KE\"` `\"KG\"` `\"KH\"` `\"KI\"` `\"KM\"` `\"KN\"` `\"KP\"` `\"KR\"` `\"KW\"` `\"KY\"` `\"KZ\"` `\"LA\"` `\"LB\"` `\"LC\"` `\"LI\"` `\"LK\"` `\"LR\"` `\"LS\"` `\"LT\"` `\"LU\"` `\"LV\"` `\"LY\"` `\"MA\"` `\"MC\"` `\"MD\"` `\"ME\"` `\"MF\"` `\"MG\"` `\"MH\"` `\"MK\"` `\"ML\"` `\"MM\"` `\"MN\"` `\"MO\"` `\"MP\"` `\"MQ\"` `\"MR\"` `\"MS\"` `\"MT\"` `\"MU\"` `\"MV\"` `\"MW\"` `\"MX\"` `\"MY\"` `\"MZ\"` `\"NA\"` `\"NC\"` `\"NE\"` `\"NF\"` `\"NG\"` `\"NI\"` `\"NL\"` `\"NO\"` `\"NP\"` `\"NR\"` `\"NU\"` `\"NZ\"` `\"OM\"` `\"OTHER\"` `\"PA\"` `\"PE\"` `\"PF\"` `\"PG\"` `\"PH\"` `\"PK\"` `\"PL\"` `\"PM\"` `\"PN\"` `\"PR\"` `\"PS\"` `\"PT\"` `\"PW\"` `\"PY\"` `\"QA\"` `\"RE\"` `\"RO\"` `\"RS\"` `\"RU\"` `\"RW\"` `\"SA\"` `\"SB\"` `\"SC\"` `\"SD\"` `\"SE\"` `\"SG\"` `\"SH\"` `\"SI\"` `\"SJ\"` `\"SK\"` `\"SL\"` `\"SM\"` `\"SN\"` `\"SO\"` `\"SR\"` `\"SS\"` `\"ST\"` `\"SV\"` `\"SX\"` `\"SY\"` `\"SZ\"` `\"TC\"` `\"TD\"` `\"TF\"` `\"TG\"` `\"TH\"` `\"TJ\"` `\"TK\"` `\"TL\"` `\"TM\"` `\"TN\"` `\"TO\"` `\"TR\"` `\"TT\"` `\"TV\"` `\"TW\"` `\"TZ\"` `\"UA\"` `\"UG\"` `\"UM\"` `\"US\"` `\"UY\"` `\"UZ\"` `\"VA\"` `\"VC\"` `\"VE\"` `\"VG\"` `\"VI\"` `\"VN\"` `\"VU\"` `\"WF\"` `\"WS\"` `\"YE\"` `\"YT\"` `\"ZA\"` `\"ZM\"` `\"ZW\"`\n\n**country_prev**: The country that a given keyword is being tracked in on the comparison date. A two-letter country code (ISO 3166-1 alpha-2).  \ntype: string  \nenum: `\"AD\"` `\"AE\"` `\"AF\"` `\"AG\"` `\"AI\"` `\"AL\"` `\"AM\"` `\"AO\"` `\"AQ\"` `\"AR\"` `\"AS\"` `\"AT\"` `\"AU\"` `\"AW\"` `\"AX\"` `\"AZ\"` `\"BA\"` `\"BB\"` `\"BD\"` `\"BE\"` `\"BF\"` `\"BG\"` `\"BH\"` `\"BI\"` `\"BJ\"` `\"BL\"` `\"BM\"` `\"BN\"` `\"BO\"` `\"BQ\"` `\"BR\"` `\"BS\"` `\"BT\"` `\"BV\"` `\"BW\"` `\"BY\"` `\"BZ\"` `\"CA\"` `\"CC\"` `\"CD\"` `\"CF\"` `\"CG\"` `\"CH\"` `\"CI\"` `\"CK\"` `\"CL\"` `\"CM\"` `\"CN\"` `\"CO\"` `\"CR\"` `\"CU\"` `\"CV\"` `\"CW\"` `\"CX\"` `\"CY\"` `\"CZ\"` `\"DE\"` `\"DJ\"` `\"DK\"` `\"DM\"` `\"DO\"` `\"DZ\"` `\"EC\"` `\"EE\"` `\"EG\"` `\"EH\"` `\"ER\"` `\"ES\"` `\"ET\"` `\"FI\"` `\"FJ\"` `\"FK\"` `\"FM\"` `\"FO\"` `\"FR\"` `\"GA\"` `\"GB\"` `\"GD\"` `\"GE\"` `\"GF\"` `\"GG\"` `\"GH\"` `\"GI\"` `\"GL\"` `\"GM\"` `\"GN\"` `\"GP\"` `\"GQ\"` `\"GR\"` `\"GS\"` `\"GT\"` `\"GU\"` `\"GW\"` `\"GY\"` `\"HK\"` `\"HM\"` `\"HN\"` `\"HR\"` `\"HT\"` `\"HU\"` `\"ID\"` `\"IE\"` `\"IL\"` `\"IM\"` `\"IN\"` `\"IO\"` `\"IQ\"` `\"IR\"` `\"IS\"` `\"IT\"` `\"JE\"` `\"JM\"` `\"JO\"` `\"JP\"` `\"KE\"` `\"KG\"` `\"KH\"` `\"KI\"` `\"KM\"` `\"KN\"` `\"KP\"` `\"KR\"` `\"KW\"` `\"KY\"` `\"KZ\"` `\"LA\"` `\"LB\"` `\"LC\"` `\"LI\"` `\"LK\"` `\"LR\"` `\"LS\"` `\"LT\"` `\"LU\"` `\"LV\"` `\"LY\"` `\"MA\"` `\"MC\"` `\"MD\"` `\"ME\"` `\"MF\"` `\"MG\"` `\"MH\"` `\"MK\"` `\"ML\"` `\"MM\"` `\"MN\"` `\"MO\"` `\"MP\"` `\"MQ\"` `\"MR\"` `\"MS\"` `\"MT\"` `\"MU\"` `\"MV\"` `\"MW\"` `\"MX\"` `\"MY\"` `\"MZ\"` `\"NA\"` `\"NC\"` `\"NE\"` `\"NF\"` `\"NG\"` `\"NI\"` `\"NL\"` `\"NO\"` `\"NP\"` `\"NR\"` `\"NU\"` `\"NZ\"` `\"OM\"` `\"OTHER\"` `\"PA\"` `\"PE\"` `\"PF\"` `\"PG\"` `\"PH\"` `\"PK\"` `\"PL\"` `\"PM\"` `\"PN\"` `\"PR\"` `\"PS\"` `\"PT\"` `\"PW\"` `\"PY\"` `\"QA\"` `\"RE\"` `\"RO\"` `\"RS\"` `\"RU\"` `\"RW\"` `\"SA\"` `\"SB\"` `\"SC\"` `\"SD\"` `\"SE\"` `\"SG\"` `\"SH\"` `\"SI\"` `\"SJ\"` `\"SK\"` `\"SL\"` `\"SM\"` `\"SN\"` `\"SO\"` `\"SR\"` `\"SS\"` `\"ST\"` `\"SV\"` `\"SX\"` `\"SY\"` `\"SZ\"` `\"TC\"` `\"TD\"` `\"TF\"` `\"TG\"` `\"TH\"` `\"TJ\"` `\"TK\"` `\"TL\"` `\"TM\"` `\"TN\"` `\"TO\"` `\"TR\"` `\"TT\"` `\"TV\"` `\"TW\"` `\"TZ\"` `\"UA\"` `\"UG\"` `\"UM\"` `\"US\"` `\"UY\"` `\"UZ\"` `\"VA\"` `\"VC\"` `\"VE\"` `\"VG\"` `\"VI\"` `\"VN\"` `\"VU\"` `\"WF\"` `\"WS\"` `\"YE\"` `\"YT\"` `\"ZA\"` `\"ZM\"` `\"ZW\"`\n\n**domain**: The page domain.  \ntype: string\n\n**keyword**: The keyword your target ranks for.  \ntype: string\n\n**keyword_prev**: The keyword your target ranks for on the comparison date.  \ntype: string\n\n**language**: The SERP language that a given keyword is being tracked for.  \ntype: string\n\n**language_prev**: The SERP language on the comparison date.  \ntype: string\n\n**location**: The location (country, state/province, or city) that a given keyword is being tracked in.  \ntype: string\n\n**location_prev**: The location (country, state/province, or city) that a given keyword is being tracked in on the comparison date.  \ntype: string\n\n**tags**: A list of tags assigned to a given keyword.  \ntype: array(string)\n\n**tags_prev**: A list of tags assigned to a given keyword on the comparison date.  \ntype: array(string)\n\n**url**: The page URL.  \ntype: string",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "select",
            "in": "query"
          },
          {
            "description": "Restrict pages to target and tracked competitors",
            "required": false,
            "explode": false,
            "schema": {
              "type": "boolean",
              "default": false
            },
            "name": "target_and_tracked_competitors_only",
            "in": "query"
          },
          {
            "description": "A date to compare metrics with in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_compared",
            "in": "query"
          },
          {
            "description": "A date to report metrics on in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date",
            "in": "query"
          },
          {
            "description": "Choose between mobile and desktop rankings.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "desktop",
                "mobile"
              ]
            },
            "name": "device",
            "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": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "description": "The search volume calculation mode: monthly or average. It affects volume, traffic, and traffic value.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "monthly",
                "average"
              ],
              "default": "monthly"
            },
            "name": "volume_mode",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/rank-tracker.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rank-tracker.competitors-pages"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/rank-tracker.competitors-pages"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/rank-tracker.error_400"
          },
          "401": {
            "$ref": "#/components/responses/rank-tracker.error_401"
          },
          "403": {
            "$ref": "#/components/responses/rank-tracker.error_403"
          },
          "429": {
            "$ref": "#/components/responses/rank-tracker.error_429"
          },
          "500": {
            "$ref": "#/components/responses/rank-tracker.error_500"
          }
        }
      }
    },
    "/rank-tracker/competitors-domains": {
      "get": {
        "tags": [
          "Rank Tracker"
        ],
        "summary": "Competitors domains",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "rank-tracker.competitors-domains",
        "parameters": [
          {
            "description": "A manual timeout duration in seconds.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "timeout",
            "in": "query"
          },
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer",
              "default": 1000
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to order results by, with optional direction. See response schema for valid column identifiers.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "examples": [
                "field_a,field_b:asc,field_c:desc"
              ]
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the `select` parameter).\n\n**country**: The country that a given keyword is being tracked in. A two-letter country code (ISO 3166-1 alpha-2).  \ntype: string  \nenum: `\"AD\"` `\"AE\"` `\"AF\"` `\"AG\"` `\"AI\"` `\"AL\"` `\"AM\"` `\"AO\"` `\"AQ\"` `\"AR\"` `\"AS\"` `\"AT\"` `\"AU\"` `\"AW\"` `\"AX\"` `\"AZ\"` `\"BA\"` `\"BB\"` `\"BD\"` `\"BE\"` `\"BF\"` `\"BG\"` `\"BH\"` `\"BI\"` `\"BJ\"` `\"BL\"` `\"BM\"` `\"BN\"` `\"BO\"` `\"BQ\"` `\"BR\"` `\"BS\"` `\"BT\"` `\"BV\"` `\"BW\"` `\"BY\"` `\"BZ\"` `\"CA\"` `\"CC\"` `\"CD\"` `\"CF\"` `\"CG\"` `\"CH\"` `\"CI\"` `\"CK\"` `\"CL\"` `\"CM\"` `\"CN\"` `\"CO\"` `\"CR\"` `\"CU\"` `\"CV\"` `\"CW\"` `\"CX\"` `\"CY\"` `\"CZ\"` `\"DE\"` `\"DJ\"` `\"DK\"` `\"DM\"` `\"DO\"` `\"DZ\"` `\"EC\"` `\"EE\"` `\"EG\"` `\"EH\"` `\"ER\"` `\"ES\"` `\"ET\"` `\"FI\"` `\"FJ\"` `\"FK\"` `\"FM\"` `\"FO\"` `\"FR\"` `\"GA\"` `\"GB\"` `\"GD\"` `\"GE\"` `\"GF\"` `\"GG\"` `\"GH\"` `\"GI\"` `\"GL\"` `\"GM\"` `\"GN\"` `\"GP\"` `\"GQ\"` `\"GR\"` `\"GS\"` `\"GT\"` `\"GU\"` `\"GW\"` `\"GY\"` `\"HK\"` `\"HM\"` `\"HN\"` `\"HR\"` `\"HT\"` `\"HU\"` `\"ID\"` `\"IE\"` `\"IL\"` `\"IM\"` `\"IN\"` `\"IO\"` `\"IQ\"` `\"IR\"` `\"IS\"` `\"IT\"` `\"JE\"` `\"JM\"` `\"JO\"` `\"JP\"` `\"KE\"` `\"KG\"` `\"KH\"` `\"KI\"` `\"KM\"` `\"KN\"` `\"KP\"` `\"KR\"` `\"KW\"` `\"KY\"` `\"KZ\"` `\"LA\"` `\"LB\"` `\"LC\"` `\"LI\"` `\"LK\"` `\"LR\"` `\"LS\"` `\"LT\"` `\"LU\"` `\"LV\"` `\"LY\"` `\"MA\"` `\"MC\"` `\"MD\"` `\"ME\"` `\"MF\"` `\"MG\"` `\"MH\"` `\"MK\"` `\"ML\"` `\"MM\"` `\"MN\"` `\"MO\"` `\"MP\"` `\"MQ\"` `\"MR\"` `\"MS\"` `\"MT\"` `\"MU\"` `\"MV\"` `\"MW\"` `\"MX\"` `\"MY\"` `\"MZ\"` `\"NA\"` `\"NC\"` `\"NE\"` `\"NF\"` `\"NG\"` `\"NI\"` `\"NL\"` `\"NO\"` `\"NP\"` `\"NR\"` `\"NU\"` `\"NZ\"` `\"OM\"` `\"OTHER\"` `\"PA\"` `\"PE\"` `\"PF\"` `\"PG\"` `\"PH\"` `\"PK\"` `\"PL\"` `\"PM\"` `\"PN\"` `\"PR\"` `\"PS\"` `\"PT\"` `\"PW\"` `\"PY\"` `\"QA\"` `\"RE\"` `\"RO\"` `\"RS\"` `\"RU\"` `\"RW\"` `\"SA\"` `\"SB\"` `\"SC\"` `\"SD\"` `\"SE\"` `\"SG\"` `\"SH\"` `\"SI\"` `\"SJ\"` `\"SK\"` `\"SL\"` `\"SM\"` `\"SN\"` `\"SO\"` `\"SR\"` `\"SS\"` `\"ST\"` `\"SV\"` `\"SX\"` `\"SY\"` `\"SZ\"` `\"TC\"` `\"TD\"` `\"TF\"` `\"TG\"` `\"TH\"` `\"TJ\"` `\"TK\"` `\"TL\"` `\"TM\"` `\"TN\"` `\"TO\"` `\"TR\"` `\"TT\"` `\"TV\"` `\"TW\"` `\"TZ\"` `\"UA\"` `\"UG\"` `\"UM\"` `\"US\"` `\"UY\"` `\"UZ\"` `\"VA\"` `\"VC\"` `\"VE\"` `\"VG\"` `\"VI\"` `\"VN\"` `\"VU\"` `\"WF\"` `\"WS\"` `\"YE\"` `\"YT\"` `\"ZA\"` `\"ZM\"` `\"ZW\"`\n\n**country_prev**: The country that a given keyword is being tracked in on the comparison date. A two-letter country code (ISO 3166-1 alpha-2).  \ntype: string  \nenum: `\"AD\"` `\"AE\"` `\"AF\"` `\"AG\"` `\"AI\"` `\"AL\"` `\"AM\"` `\"AO\"` `\"AQ\"` `\"AR\"` `\"AS\"` `\"AT\"` `\"AU\"` `\"AW\"` `\"AX\"` `\"AZ\"` `\"BA\"` `\"BB\"` `\"BD\"` `\"BE\"` `\"BF\"` `\"BG\"` `\"BH\"` `\"BI\"` `\"BJ\"` `\"BL\"` `\"BM\"` `\"BN\"` `\"BO\"` `\"BQ\"` `\"BR\"` `\"BS\"` `\"BT\"` `\"BV\"` `\"BW\"` `\"BY\"` `\"BZ\"` `\"CA\"` `\"CC\"` `\"CD\"` `\"CF\"` `\"CG\"` `\"CH\"` `\"CI\"` `\"CK\"` `\"CL\"` `\"CM\"` `\"CN\"` `\"CO\"` `\"CR\"` `\"CU\"` `\"CV\"` `\"CW\"` `\"CX\"` `\"CY\"` `\"CZ\"` `\"DE\"` `\"DJ\"` `\"DK\"` `\"DM\"` `\"DO\"` `\"DZ\"` `\"EC\"` `\"EE\"` `\"EG\"` `\"EH\"` `\"ER\"` `\"ES\"` `\"ET\"` `\"FI\"` `\"FJ\"` `\"FK\"` `\"FM\"` `\"FO\"` `\"FR\"` `\"GA\"` `\"GB\"` `\"GD\"` `\"GE\"` `\"GF\"` `\"GG\"` `\"GH\"` `\"GI\"` `\"GL\"` `\"GM\"` `\"GN\"` `\"GP\"` `\"GQ\"` `\"GR\"` `\"GS\"` `\"GT\"` `\"GU\"` `\"GW\"` `\"GY\"` `\"HK\"` `\"HM\"` `\"HN\"` `\"HR\"` `\"HT\"` `\"HU\"` `\"ID\"` `\"IE\"` `\"IL\"` `\"IM\"` `\"IN\"` `\"IO\"` `\"IQ\"` `\"IR\"` `\"IS\"` `\"IT\"` `\"JE\"` `\"JM\"` `\"JO\"` `\"JP\"` `\"KE\"` `\"KG\"` `\"KH\"` `\"KI\"` `\"KM\"` `\"KN\"` `\"KP\"` `\"KR\"` `\"KW\"` `\"KY\"` `\"KZ\"` `\"LA\"` `\"LB\"` `\"LC\"` `\"LI\"` `\"LK\"` `\"LR\"` `\"LS\"` `\"LT\"` `\"LU\"` `\"LV\"` `\"LY\"` `\"MA\"` `\"MC\"` `\"MD\"` `\"ME\"` `\"MF\"` `\"MG\"` `\"MH\"` `\"MK\"` `\"ML\"` `\"MM\"` `\"MN\"` `\"MO\"` `\"MP\"` `\"MQ\"` `\"MR\"` `\"MS\"` `\"MT\"` `\"MU\"` `\"MV\"` `\"MW\"` `\"MX\"` `\"MY\"` `\"MZ\"` `\"NA\"` `\"NC\"` `\"NE\"` `\"NF\"` `\"NG\"` `\"NI\"` `\"NL\"` `\"NO\"` `\"NP\"` `\"NR\"` `\"NU\"` `\"NZ\"` `\"OM\"` `\"OTHER\"` `\"PA\"` `\"PE\"` `\"PF\"` `\"PG\"` `\"PH\"` `\"PK\"` `\"PL\"` `\"PM\"` `\"PN\"` `\"PR\"` `\"PS\"` `\"PT\"` `\"PW\"` `\"PY\"` `\"QA\"` `\"RE\"` `\"RO\"` `\"RS\"` `\"RU\"` `\"RW\"` `\"SA\"` `\"SB\"` `\"SC\"` `\"SD\"` `\"SE\"` `\"SG\"` `\"SH\"` `\"SI\"` `\"SJ\"` `\"SK\"` `\"SL\"` `\"SM\"` `\"SN\"` `\"SO\"` `\"SR\"` `\"SS\"` `\"ST\"` `\"SV\"` `\"SX\"` `\"SY\"` `\"SZ\"` `\"TC\"` `\"TD\"` `\"TF\"` `\"TG\"` `\"TH\"` `\"TJ\"` `\"TK\"` `\"TL\"` `\"TM\"` `\"TN\"` `\"TO\"` `\"TR\"` `\"TT\"` `\"TV\"` `\"TW\"` `\"TZ\"` `\"UA\"` `\"UG\"` `\"UM\"` `\"US\"` `\"UY\"` `\"UZ\"` `\"VA\"` `\"VC\"` `\"VE\"` `\"VG\"` `\"VI\"` `\"VN\"` `\"VU\"` `\"WF\"` `\"WS\"` `\"YE\"` `\"YT\"` `\"ZA\"` `\"ZM\"` `\"ZW\"`\n\n**domain**: The page domain.  \ntype: domain\n\n**keyword**: The keyword your target ranks for.  \ntype: string\n\n**keyword_prev**: The keyword your target ranks for on the comparison date.  \ntype: string\n\n**language**: The SERP language that a given keyword is being tracked for.  \ntype: string\n\n**language_prev**: The SERP language on the comparison date.  \ntype: string\n\n**location**: The location (country, state/province, or city) that a given keyword is being tracked in.  \ntype: string\n\n**location_prev**: The location (country, state/province, or city) that a given keyword is being tracked in on the comparison date.  \ntype: string\n\n**tags**: A list of tags assigned to a given keyword.  \ntype: array(string)\n\n**tags_prev**: A list of tags assigned to a given keyword on the comparison date.  \ntype: array(string)",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "select",
            "in": "query"
          },
          {
            "description": "Restrict domains to target and tracked competitors",
            "required": false,
            "explode": false,
            "schema": {
              "type": "boolean",
              "default": false
            },
            "name": "target_and_tracked_competitors_only",
            "in": "query"
          },
          {
            "description": "A date to compare metrics with in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_compared",
            "in": "query"
          },
          {
            "description": "A date to report metrics on in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date",
            "in": "query"
          },
          {
            "description": "Choose between mobile and desktop rankings.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "desktop",
                "mobile"
              ]
            },
            "name": "device",
            "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": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "description": "The search volume calculation mode: monthly or average. It affects volume, traffic, and traffic value.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "monthly",
                "average"
              ],
              "default": "monthly"
            },
            "name": "volume_mode",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/rank-tracker.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rank-tracker.competitors-domains"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/rank-tracker.competitors-domains"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/rank-tracker.error_400"
          },
          "401": {
            "$ref": "#/components/responses/rank-tracker.error_401"
          },
          "403": {
            "$ref": "#/components/responses/rank-tracker.error_403"
          },
          "429": {
            "$ref": "#/components/responses/rank-tracker.error_429"
          },
          "500": {
            "$ref": "#/components/responses/rank-tracker.error_500"
          }
        }
      }
    },
    "/rank-tracker/serp-overview": {
      "get": {
        "tags": [
          "Rank Tracker"
        ],
        "summary": "SERP Overview",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "rank-tracker.serp-overview",
        "parameters": [
          {
            "description": "The number of top organic SERP positions to return. If not specified, all available positions will be returned.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "top_positions",
            "in": "query"
          },
          {
            "description": "Choose between mobile and desktop rankings.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "desktop",
                "mobile"
              ]
            },
            "name": "device",
            "in": "query"
          },
          {
            "description": "A timestamp on which the last available SERP Overview is returned in YYYY-MM-DDThh:mm:ss format. If it is not specified, the most recent SERP Overview is returned.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "date",
            "in": "query"
          },
          {
            "description": "The location ID of a tracked keyword.You can use the `management/project-keywords` endpoint to get country codes, language codes and location IDs for your tracked keywords.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "location_id",
            "in": "query"
          },
          {
            "description": "A two-letter country code (ISO 3166-1 alpha-2).",
            "required": true,
            "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"
              ]
            },
            "name": "country",
            "in": "query"
          },
          {
            "description": "The language code of a tracked keyword.You can use the `management/project-keywords` endpoint to get country codes, language codes and location IDs for your tracked keywords.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "language_code",
            "in": "query"
          },
          {
            "description": "The keyword to return SERP Overview for.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "keyword",
            "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": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/rank-tracker.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rank-tracker.serp-overview"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/rank-tracker.serp-overview"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/rank-tracker.error_400"
          },
          "401": {
            "$ref": "#/components/responses/rank-tracker.error_401"
          },
          "403": {
            "$ref": "#/components/responses/rank-tracker.error_403"
          },
          "429": {
            "$ref": "#/components/responses/rank-tracker.error_429"
          },
          "500": {
            "$ref": "#/components/responses/rank-tracker.error_500"
          }
        }
      }
    },
    "/rank-tracker/competitors-stats": {
      "get": {
        "tags": [
          "Rank Tracker"
        ],
        "summary": "Competitors metrics",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "rank-tracker.competitors-stats",
        "parameters": [
          {
            "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "select",
            "in": "query"
          },
          {
            "description": "A date to report metrics on in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date",
            "in": "query"
          },
          {
            "description": "Choose between mobile and desktop rankings.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "desktop",
                "mobile"
              ]
            },
            "name": "device",
            "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": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "description": "The search volume calculation mode: monthly or average. It affects volume, traffic, and traffic value.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "monthly",
                "average"
              ],
              "default": "monthly"
            },
            "name": "volume_mode",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/rank-tracker.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/rank-tracker.competitors-stats"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/rank-tracker.competitors-stats"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/rank-tracker.error_400"
          },
          "401": {
            "$ref": "#/components/responses/rank-tracker.error_401"
          },
          "403": {
            "$ref": "#/components/responses/rank-tracker.error_403"
          },
          "429": {
            "$ref": "#/components/responses/rank-tracker.error_429"
          },
          "500": {
            "$ref": "#/components/responses/rank-tracker.error_500"
          }
        }
      }
    },
    "/serp-overview/serp-overview": {
      "get": {
        "tags": [
          "SERP Overview"
        ],
        "summary": "SERP Overview",
        "description": "",
        "operationId": "serp-overview.serp-overview",
        "parameters": [
          {
            "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "select",
            "in": "query"
          },
          {
            "description": "A comma-separated list of SERP feature types to filter by. Only positions whose `type` includes at least one of the given values are returned. If not specified, positions of all types are returned.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "paid_top",
                "paid_bottom",
                "paid_right",
                "paid_sitelink",
                "organic",
                "sitelink",
                "snippet",
                "image",
                "article",
                "knowledge_card",
                "knowledge_panel",
                "local_pack",
                "local_teaser",
                "news",
                "question",
                "review",
                "shopping",
                "tweet",
                "spelling",
                "video",
                "discussion",
                "ai_overview",
                "ai_overview_sitelink",
                "organic_shopping",
                "image_th",
                "video_th",
                "ai_overview_found"
              ],
              "default": ""
            },
            "name": "type",
            "in": "query"
          },
          {
            "description": "The number of top organic SERP positions to return. If not specified, all available positions will be returned.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "top_positions",
            "in": "query"
          },
          {
            "description": "A timestamp on which the last available SERP Overview is returned in YYYY-MM-DDThh:mm:ss format. If it is not specified, the most recent SERP Overview is returned.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "date",
            "in": "query"
          },
          {
            "description": "A two-letter country code (ISO 3166-1 alpha-2).",
            "required": true,
            "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"
              ]
            },
            "name": "country",
            "in": "query"
          },
          {
            "description": "The keyword to return SERP Overview for.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "keyword",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/serp-overview.output_json_php_xml"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/serp-overview.serp-overview"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/serp-overview.serp-overview"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/serp-overview.error_400"
          },
          "401": {
            "$ref": "#/components/responses/serp-overview.error_401"
          },
          "403": {
            "$ref": "#/components/responses/serp-overview.error_403"
          },
          "429": {
            "$ref": "#/components/responses/serp-overview.error_429"
          },
          "500": {
            "$ref": "#/components/responses/serp-overview.error_500"
          }
        }
      }
    },
    "/batch-analysis/batch-analysis": {
      "post": {
        "tags": [
          "Batch Analysis"
        ],
        "summary": "Batch Analysis",
        "operationId": "batch-analysis.batch-analysis",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "select": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "description": "A list of fields to return.\n\n- `ahrefs_rank`\n- `backlinks`\n- `backlinks_dofollow`\n- `backlinks_internal`\n- `backlinks_nofollow`\n- `backlinks_redirect`\n- `domain_rating`\n- `index`\n- `ip`\n- `linked_domains`\n- `linked_domains_dofollow`\n- `mode`\n- `org_cost` (10 units)\n- `org_keywords`\n- `org_keywords_11_20`\n- `org_keywords_1_3`\n- `org_keywords_21_50`\n- `org_keywords_4_10`\n- `org_keywords_51_plus`\n- `org_traffic` (10 units)\n- `org_traffic_top_by_country` (10 units)\n- `outgoing_links`\n- `outgoing_links_dofollow`\n- `paid_ads`\n- `paid_cost` (10 units)\n- `paid_keywords`\n- `paid_traffic` (10 units)\n- `protocol`\n- `refdomains` (5 units)\n- `refdomains_dofollow` (5 units)\n- `refdomains_nofollow` (5 units)\n- `refips`\n- `refips_subnets`\n- `url`\n- `url_rating`",
                    "examples": [
                      [
                        "field_a",
                        "field_b"
                      ]
                    ]
                  },
                  "order_by": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "description": "A list of fields to order the results by, with optional direction. Format: `field_name:asc` or `field_name:desc` (default `desc`).\n\n- `ahrefs_rank`\n- `backlinks`\n- `backlinks_dofollow`\n- `backlinks_internal`\n- `backlinks_nofollow`\n- `backlinks_redirect`\n- `domain_rating`\n- `index`\n- `ip`\n- `linked_domains`\n- `linked_domains_dofollow`\n- `mode`\n- `org_cost` (10 units)\n- `org_keywords`\n- `org_keywords_11_20`\n- `org_keywords_1_3`\n- `org_keywords_21_50`\n- `org_keywords_4_10`\n- `org_keywords_51_plus`\n- `org_traffic` (10 units)\n- `org_traffic_top_by_country` (10 units)\n- `outgoing_links`\n- `outgoing_links_dofollow`\n- `paid_ads`\n- `paid_cost` (10 units)\n- `paid_keywords`\n- `paid_traffic` (10 units)\n- `protocol`\n- `refdomains` (5 units)\n- `refdomains_dofollow` (5 units)\n- `refdomains_nofollow` (5 units)\n- `refips`\n- `refips_subnets`\n- `url`\n- `url_rating`",
                    "examples": [
                      [
                        "field_a:asc",
                        "field_b:desc"
                      ]
                    ]
                  },
                  "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)."
                  },
                  "volume_mode": {
                    "type": "string",
                    "enum": [
                      "monthly",
                      "average"
                    ],
                    "description": "The search volume calculation mode: monthly or average. It affects volume, traffic, and traffic value.",
                    "default": "monthly"
                  },
                  "targets": {
                    "items": {
                      "$ref": "#/components/schemas/batch-analysis.target"
                    },
                    "type": "array",
                    "maxItems": 100,
                    "minItems": 1,
                    "description": "A list of targets to do batch analysis."
                  },
                  "output": {
                    "type": "string",
                    "enum": [
                      "json",
                      "php"
                    ],
                    "description": "The output format."
                  }
                },
                "type": "object",
                "required": [
                  "select",
                  "targets"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/batch-analysis.batch-analysis"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/batch-analysis.batch-analysis"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/batch-analysis.error_400"
          },
          "401": {
            "$ref": "#/components/responses/batch-analysis.error_401"
          },
          "403": {
            "$ref": "#/components/responses/batch-analysis.error_403"
          },
          "429": {
            "$ref": "#/components/responses/batch-analysis.error_429"
          },
          "500": {
            "$ref": "#/components/responses/batch-analysis.error_500"
          }
        }
      }
    },
    "/subscription-info/limits-and-usage": {
      "get": {
        "tags": [
          "Subscription Information"
        ],
        "summary": "Limits and usage",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "subscription-info.limits-and-usage",
        "parameters": [
          {
            "$ref": "#/components/parameters/subscription-info.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/subscription-info.limits-and-usage"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/subscription-info.limits-and-usage"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/subscription-info.error_400"
          },
          "401": {
            "$ref": "#/components/responses/subscription-info.error_401"
          },
          "403": {
            "$ref": "#/components/responses/subscription-info.error_403"
          },
          "429": {
            "$ref": "#/components/responses/subscription-info.error_429"
          },
          "500": {
            "$ref": "#/components/responses/subscription-info.error_500"
          }
        }
      }
    },
    "/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 email of the project owner",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "owned_by",
            "in": "query"
          },
          {
            "description": "The access type of the project.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "private",
                "shared"
              ]
            },
            "name": "access",
            "in": "query"
          },
          {
            "description": "Has Rank Tracker keywords.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "boolean"
            },
            "name": "has_keywords",
            "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"
          },
          {
            "$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": {
                  "owned_by": {
                    "type": "string",
                    "description": "The email of the project owner. If not provided, the project is assigned to the Workspace owner."
                  },
                  "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#`."
                  },
                  "access": {
                    "type": "string",
                    "enum": [
                      "private",
                      "shared"
                    ],
                    "description": "The access type of the project.",
                    "default": "private"
                  },
                  "protocol": {
                    "type": "string",
                    "enum": [
                      "both",
                      "http",
                      "https"
                    ],
                    "description": "The protocol of the project's target."
                  },
                  "url": {
                    "type": "string",
                    "format": "url",
                    "description": "The URL of the project's target."
                  },
                  "mode": {
                    "type": "string",
                    "enum": [
                      "exact",
                      "prefix",
                      "domain",
                      "subdomains"
                    ],
                    "description": "The scope of the target."
                  },
                  "project_name": {
                    "type": "string",
                    "description": "The name of the project."
                  }
                },
                "type": "object",
                "required": [
                  "protocol",
                  "url",
                  "mode",
                  "project_name"
                ]
              }
            }
          }
        },
        "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.",
        "operationId": "management.update-project",
        "parameters": [
          {
            "$ref": "#/components/parameters/management.output"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "access": {
                    "type": "string",
                    "enum": [
                      "private",
                      "shared"
                    ],
                    "description": "The new access setting for the project."
                  },
                  "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#`"
                  }
                },
                "type": "object",
                "required": [
                  "access",
                  "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": {
                  "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."
                  },
                  "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."
                  }
                },
                "type": "object",
                "required": [
                  "locations",
                  "keywords"
                ]
              }
            }
          }
        },
        "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": {
                  "update_mode": {
                    "type": "string",
                    "enum": [
                      "add",
                      "replace"
                    ],
                    "description": "`add` appends tags to existing ones; `replace` overwrites all existing tags entirely.",
                    "default": "add"
                  },
                  "tags": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "minItems": 1,
                    "description": "A list of tags to add to the keywords. Empty string is not a valid tag."
                  },
                  "keywords": {
                    "items": {
                      "properties": {
                        "keyword": {
                          "type": "string",
                          "description": "The keyword to update."
                        },
                        "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 update. You can use the 'Locations and languages' endpoint to get country codes, language codes and location IDs."
                  },
                  "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#`"
                  },
                  "output": {
                    "type": "string",
                    "enum": [
                      "json",
                      "php"
                    ],
                    "description": "The output format."
                  }
                },
                "type": "object",
                "required": [
                  "tags",
                  "keywords",
                  "project_id"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/management.project-keywords-tags"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/management.project-keywords-tags"
                }
              }
            }
          },
          "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-delete": {
      "put": {
        "tags": [
          "Management"
        ],
        "summary": "Delete Keywords Tags",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "management.project-keywords-tags-delete",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "tags": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "minItems": 1,
                    "description": "A list of tags to remove from the keywords."
                  },
                  "keywords": {
                    "items": {
                      "properties": {
                        "keyword": {
                          "type": "string",
                          "description": "The keyword to update."
                        },
                        "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 update. You can use the 'Locations and languages' endpoint to get country codes, language codes and location IDs."
                  },
                  "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#`"
                  },
                  "output": {
                    "type": "string",
                    "enum": [
                      "json",
                      "php"
                    ],
                    "description": "The output format."
                  }
                },
                "type": "object",
                "required": [
                  "tags",
                  "keywords",
                  "project_id"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/management.project-keywords-tags-delete"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/management.project-keywords-tags-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/keyword-list-keywords": {
      "get": {
        "tags": [
          "Management"
        ],
        "summary": "Keywords list",
        "description": "**Requests to this endpoint are free and do not consume any API units.**",
        "operationId": "management.keyword-list-keywords",
        "parameters": [
          {
            "description": "The id of an existing keyword list.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "keyword_list_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/management.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/management.keyword-list-keywords"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/management.keyword-list-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 list",
        "description": "**Requests to this endpoint are free and do not consume any API units.**",
        "operationId": "management.keyword-list-keywords.put",
        "parameters": [
          {
            "description": "The id of an existing keyword list.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "keyword_list_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/management.output"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "keywords": {
                    "items": {
                      "type": "string",
                      "title": "keyword"
                    },
                    "type": "array",
                    "minItems": 1,
                    "description": "A list of keywords to add."
                  }
                },
                "type": "object",
                "required": [
                  "keywords"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/management.keyword-list-keywords"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/management.keyword-list-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/keyword-list-keywords-delete": {
      "put": {
        "tags": [
          "Management"
        ],
        "summary": "Keywords list",
        "description": "**Requests to this endpoint are free and do not consume any API units.**",
        "operationId": "management.keyword-list-keywords-delete",
        "parameters": [
          {
            "description": "The id of an existing keyword list.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "keyword_list_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/management.output"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "keywords": {
                    "items": {
                      "type": "string",
                      "title": "keyword"
                    },
                    "type": "array",
                    "minItems": 1,
                    "description": "A list of keywords to delete."
                  }
                },
                "type": "object",
                "required": [
                  "keywords"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/management.keyword-list-keywords-delete"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/management.keyword-list-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-competitors": {
      "get": {
        "tags": [
          "Management"
        ],
        "summary": "Competitors",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "management.project-competitors",
        "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"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/management.project-competitors"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/management.project-competitors"
                }
              }
            }
          },
          "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": "Competitors",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "management.project-competitors.post",
        "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"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "competitors": {
                    "items": {
                      "properties": {
                        "url": {
                          "type": "string",
                          "format": "url",
                          "description": "The URL of the project's target."
                        },
                        "mode": {
                          "type": "string",
                          "enum": [
                            "exact",
                            "prefix",
                            "domain",
                            "subdomains"
                          ],
                          "description": "The scope of the target."
                        }
                      },
                      "type": "object",
                      "required": [
                        "url",
                        "mode"
                      ]
                    },
                    "type": "array",
                    "minItems": 1,
                    "description": "A list of competitors to add."
                  }
                },
                "type": "object",
                "required": [
                  "competitors"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/management.project-competitors"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/management.project-competitors"
                }
              }
            }
          },
          "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-competitors-delete": {
      "post": {
        "tags": [
          "Management"
        ],
        "summary": "Delete competitors",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "management.project-competitors-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"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "competitors": {
                    "items": {
                      "properties": {
                        "url": {
                          "type": "string",
                          "format": "url",
                          "description": "The URL of the project's target."
                        },
                        "mode": {
                          "type": "string",
                          "enum": [
                            "exact",
                            "prefix",
                            "domain",
                            "subdomains"
                          ],
                          "description": "The scope of the target."
                        }
                      },
                      "type": "object",
                      "required": [
                        "url",
                        "mode"
                      ]
                    },
                    "type": "array",
                    "minItems": 1,
                    "description": "A list of competitors to delete."
                  }
                },
                "type": "object",
                "required": [
                  "competitors"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/management.project-competitors-delete"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/management.project-competitors-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/locations": {
      "get": {
        "tags": [
          "Management"
        ],
        "summary": "Locations and languages",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "management.locations",
        "parameters": [
          {
            "description": "A two-letter US state code (ISO 3166-2:US). Required only if `country_code` is set to `us`",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "al",
                "ak",
                "az",
                "ar",
                "ca",
                "co",
                "ct",
                "de",
                "dc",
                "fl",
                "ga",
                "hi",
                "id",
                "il",
                "in",
                "ia",
                "ks",
                "ky",
                "la",
                "me",
                "md",
                "ma",
                "mi",
                "mn",
                "ms",
                "mo",
                "mt",
                "ne",
                "nv",
                "nh",
                "nj",
                "nm",
                "ny",
                "nc",
                "nd",
                "oh",
                "ok",
                "or",
                "pa",
                "ri",
                "sc",
                "sd",
                "tn",
                "tx",
                "ut",
                "va",
                "wa",
                "wv",
                "wi",
                "wy"
              ]
            },
            "name": "us_state",
            "in": "query"
          },
          {
            "description": "A two-letter country code (ISO 3166-1 alpha-2).",
            "required": true,
            "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"
              ]
            },
            "name": "country_code",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/management.output_json_php"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/management.locations"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/management.locations"
                }
              }
            }
          },
          "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/brand-radar-prompts": {
      "get": {
        "tags": [
          "Management"
        ],
        "summary": "Brand Radar prompts",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "management.brand-radar-prompts",
        "parameters": [
          {
            "description": "The ID of the report to use. You can find it in the URL of your Brand Radar report in Ahrefs: `https://app.ahrefs.com/brand-radar/reports/#report_id#/...`",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "report_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/management.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/management.brand-radar-prompts"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/management.brand-radar-prompts"
                }
              }
            }
          },
          "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": "Brand Radar prompts",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "management.brand-radar-prompts.post",
        "parameters": [
          {
            "description": "The ID of the report to use. You can find it in the URL of your Brand Radar report in Ahrefs: `https://app.ahrefs.com/brand-radar/reports/#report_id#/...`",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "report_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/management.output"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "countries": {
                    "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",
                    "minItems": 1,
                    "description": "A list of two-letter country codes (ISO 3166-1 alpha-2)."
                  },
                  "prompts": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "minItems": 1,
                    "description": "A list of custom prompts. They must be valid utf8 and less than 400 characters."
                  }
                },
                "type": "object",
                "required": [
                  "countries",
                  "prompts"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/management.brand-radar-prompts"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/management.brand-radar-prompts"
                }
              }
            }
          },
          "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/brand-radar-prompts-delete": {
      "put": {
        "tags": [
          "Management"
        ],
        "summary": "Delete Brand Radar prompts",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "management.brand-radar-prompts-delete",
        "parameters": [
          {
            "description": "The ID of the report to use. You can find it in the URL of your Brand Radar report in Ahrefs: `https://app.ahrefs.com/brand-radar/reports/#report_id#/...`",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "report_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/management.output"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "countries": {
                    "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": []
                  },
                  "prompts": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "minItems": 1,
                    "description": "A list of custom prompts. They must be valid utf8 and less than 400 characters."
                  }
                },
                "type": "object",
                "required": [
                  "prompts"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/management.brand-radar-prompts-delete"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/management.brand-radar-prompts-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/brand-radar-reports": {
      "get": {
        "tags": [
          "Management"
        ],
        "summary": "Brand Radar Reports",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "management.brand-radar-reports",
        "parameters": [
          {
            "$ref": "#/components/parameters/management.output_json_php"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/management.brand-radar-reports"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/management.brand-radar-reports"
                }
              }
            }
          },
          "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": "Brand Radar Reports",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "management.brand-radar-reports.post",
        "parameters": [
          {
            "$ref": "#/components/parameters/management.output_json_php"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "prompts_frequency": {
                    "items": {
                      "properties": {
                        "data_source": {
                          "type": "string",
                          "enum": [
                            "chatgpt",
                            "google_ai_overviews",
                            "google_ai_mode",
                            "gemini",
                            "perplexity",
                            "copilot",
                            "claude",
                            "grok"
                          ],
                          "description": "The data source to use."
                        },
                        "frequency": {
                          "type": "string",
                          "enum": [
                            "daily",
                            "weekly",
                            "monthly",
                            "off"
                          ],
                          "description": "The update interval to use."
                        }
                      },
                      "type": "object",
                      "required": [
                        "data_source",
                        "frequency"
                      ]
                    },
                    "type": "array",
                    "minItems": 1,
                    "description": "The prompts frequency to use."
                  },
                  "project_id": {
                    "type": "integer",
                    "description": "The ID of the project to use."
                  },
                  "name": {
                    "type": "string",
                    "description": "The name of the report."
                  },
                  "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": {
                    "oneOf": [
                      {
                        "items": {
                          "anyOf": [
                            {
                              "required": [
                                "names"
                              ]
                            },
                            {
                              "required": [
                                "url_groups"
                              ]
                            }
                          ],
                          "properties": {
                            "names": {
                              "items": {
                                "type": "string"
                              },
                              "type": "array",
                              "description": "The names of the brand/competitor",
                              "examples": [
                                [
                                  "ahrefs",
                                  "ahrefs seo"
                                ]
                              ]
                            },
                            "url_groups": {
                              "items": {
                                "properties": {
                                  "target": {
                                    "type": "string",
                                    "format": "domain",
                                    "description": "The domain of the target",
                                    "examples": [
                                      "ahrefs.com"
                                    ]
                                  },
                                  "scope": {
                                    "type": "string",
                                    "enum": [
                                      "url",
                                      "path",
                                      "domain",
                                      "subdomains"
                                    ],
                                    "description": "Scope of the target."
                                  }
                                },
                                "type": "object",
                                "required": [
                                  "target",
                                  "scope"
                                ]
                              },
                              "type": "array"
                            }
                          },
                          "type": "object"
                        },
                        "type": "array",
                        "description": "Recommended. Can specify brand names and URL groups for precise targeting."
                      },
                      {
                        "items": {
                          "type": "string"
                        },
                        "type": "array",
                        "description": "A list of competitor names to search for."
                      }
                    ],
                    "description": "At least one of `brand`, `competitors` or `market` is required to be non-empty."
                  },
                  "brand": {
                    "oneOf": [
                      {
                        "items": {
                          "anyOf": [
                            {
                              "required": [
                                "names"
                              ]
                            },
                            {
                              "required": [
                                "url_groups"
                              ]
                            }
                          ],
                          "properties": {
                            "names": {
                              "items": {
                                "type": "string"
                              },
                              "type": "array",
                              "description": "The names of the brand/competitor",
                              "examples": [
                                [
                                  "ahrefs",
                                  "ahrefs seo"
                                ]
                              ]
                            },
                            "url_groups": {
                              "items": {
                                "properties": {
                                  "target": {
                                    "type": "string",
                                    "format": "domain",
                                    "description": "The domain of the target",
                                    "examples": [
                                      "ahrefs.com"
                                    ]
                                  },
                                  "scope": {
                                    "type": "string",
                                    "enum": [
                                      "url",
                                      "path",
                                      "domain",
                                      "subdomains"
                                    ],
                                    "description": "Scope of the target."
                                  }
                                },
                                "type": "object",
                                "required": [
                                  "target",
                                  "scope"
                                ]
                              },
                              "type": "array"
                            }
                          },
                          "type": "object"
                        },
                        "type": "array",
                        "description": "Recommended. Can specify brand names and URL groups for precise targeting."
                      },
                      {
                        "items": {
                          "type": "string"
                        },
                        "type": "array",
                        "description": "A list of brand names to search for."
                      }
                    ],
                    "description": "At least one of `brand`, `competitors` or `market` is required to be non-empty."
                  }
                },
                "type": "object"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/management.brand-radar-reports"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/management.brand-radar-reports"
                }
              }
            }
          },
          "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"
          }
        }
      },
      "patch": {
        "tags": [
          "Management"
        ],
        "summary": "Brand Radar Reports",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "management.brand-radar-reports.patch",
        "parameters": [
          {
            "$ref": "#/components/parameters/management.output_json_php"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "prompts_frequency": {
                    "items": {
                      "properties": {
                        "data_source": {
                          "type": "string",
                          "enum": [
                            "chatgpt",
                            "google_ai_overviews",
                            "google_ai_mode",
                            "gemini",
                            "perplexity",
                            "copilot",
                            "claude",
                            "grok"
                          ],
                          "description": "The data source to use."
                        },
                        "frequency": {
                          "type": "string",
                          "enum": [
                            "daily",
                            "weekly",
                            "monthly",
                            "off"
                          ],
                          "description": "The update interval to use."
                        }
                      },
                      "type": "object",
                      "required": [
                        "data_source",
                        "frequency"
                      ]
                    },
                    "type": "array",
                    "minItems": 1,
                    "description": "The prompts frequency to use."
                  },
                  "report_id": {
                    "type": "string",
                    "description": "The ID of the report to use. You can find it in the URL of your Brand Radar report in Ahrefs: `https://app.ahrefs.com/brand-radar/reports/#report_id#/...`"
                  }
                },
                "type": "object",
                "required": [
                  "prompts_frequency",
                  "report_id"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/management.brand-radar-reports"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/management.brand-radar-reports"
                }
              }
            }
          },
          "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"
          }
        }
      }
    },
    "/brand-radar/ai-responses": {
      "get": {
        "tags": [
          "Brand Radar"
        ],
        "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": "brand-radar.ai-responses",
        "parameters": [
          {
            "description": "A comma-separated list of fields to return.\n\n- `country`\n- `data_source`\n- `last_updated`\n- `links` (10 units)\n- `question`\n- `response`\n- `search_queries`\n- `tags`\n- `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.\n\n`ask_volume` - New calculation (default). Estimates demand for AI responses by adjusting Google search volume for each AI platform.\n\n`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.\nThe `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/brand-radar.output_json_php"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.ai-responses"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.ai-responses"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/brand-radar.error_400"
          },
          "401": {
            "$ref": "#/components/responses/brand-radar.error_401"
          },
          "403": {
            "$ref": "#/components/responses/brand-radar.error_403"
          },
          "429": {
            "$ref": "#/components/responses/brand-radar.error_429"
          },
          "500": {
            "$ref": "#/components/responses/brand-radar.error_500"
          }
        }
      },
      "post": {
        "tags": [
          "Brand Radar"
        ],
        "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": "brand-radar.ai-responses.post",
        "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.\n\n- `country`\n- `data_source`\n- `last_updated`\n- `links` (10 units)\n- `question`\n- `response`\n- `search_queries`\n- `tags`\n- `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.\n\n`ask_volume` - New calculation (default). Estimates demand for AI responses by adjusting Google search volume for each AI platform.\n\n`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.\nThe `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/brand-radar.entity"
                    },
                    "type": "array",
                    "description": "A list of competitor names and websites to search for.",
                    "default": []
                  },
                  "brands": {
                    "items": {
                      "$ref": "#/components/schemas/brand-radar.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/brand-radar.ai-responses"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.ai-responses"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/brand-radar.error_400"
          },
          "401": {
            "$ref": "#/components/responses/brand-radar.error_401"
          },
          "403": {
            "$ref": "#/components/responses/brand-radar.error_403"
          },
          "429": {
            "$ref": "#/components/responses/brand-radar.error_429"
          },
          "500": {
            "$ref": "#/components/responses/brand-radar.error_500"
          }
        }
      }
    },
    "/brand-radar/impressions-overview": {
      "get": {
        "tags": [
          "Brand Radar"
        ],
        "summary": "Overview - Impressions",
        "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": "brand-radar.impressions-overview",
        "parameters": [
          {
            "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": "A comma-separated list of fields to return.\n\n- `brand`\n- `no_tracked_brands`\n- `only_competitors_brands`\n- `only_target_brand`\n- `target_and_competitors_brands`\n- `total`",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "select",
            "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.\n\n`ask_volume` - New calculation (default). Estimates demand for AI responses by adjusting Google search volume for each AI platform.\n\n`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": "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.\nThe `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/brand-radar.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.impressions-overview"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.impressions-overview"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/brand-radar.error_400"
          },
          "401": {
            "$ref": "#/components/responses/brand-radar.error_401"
          },
          "403": {
            "$ref": "#/components/responses/brand-radar.error_403"
          },
          "429": {
            "$ref": "#/components/responses/brand-radar.error_429"
          },
          "500": {
            "$ref": "#/components/responses/brand-radar.error_500"
          }
        }
      },
      "post": {
        "tags": [
          "Brand Radar"
        ],
        "summary": "Overview - Impressions",
        "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": "brand-radar.impressions-overview.post",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "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"
                  },
                  "select": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "description": "A list of fields to return.\n\n- `brand`\n- `no_tracked_brands`\n- `only_competitors_brands`\n- `only_target_brand`\n- `target_and_competitors_brands`\n- `total`",
                    "examples": [
                      [
                        "field_a",
                        "field_b"
                      ]
                    ]
                  },
                  "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"
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  "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.\n\n`ask_volume` - New calculation (default). Estimates demand for AI responses by adjusting Google search volume for each AI platform.\n\n`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": []
                  },
                  "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.\nThe `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/brand-radar.entity"
                    },
                    "type": "array",
                    "description": "A list of competitor names and websites to search for.",
                    "default": []
                  },
                  "brands": {
                    "items": {
                      "$ref": "#/components/schemas/brand-radar.entity"
                    },
                    "type": "array",
                    "description": "A list of brand names and websites to search for.",
                    "default": []
                  },
                  "output": {
                    "type": "string",
                    "enum": [
                      "json",
                      "csv",
                      "xml",
                      "php"
                    ],
                    "description": "The output format."
                  }
                },
                "type": "object",
                "required": [
                  "select",
                  "data_source"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.impressions-overview"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.impressions-overview"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/brand-radar.error_400"
          },
          "401": {
            "$ref": "#/components/responses/brand-radar.error_401"
          },
          "403": {
            "$ref": "#/components/responses/brand-radar.error_403"
          },
          "429": {
            "$ref": "#/components/responses/brand-radar.error_429"
          },
          "500": {
            "$ref": "#/components/responses/brand-radar.error_500"
          }
        }
      }
    },
    "/brand-radar/citations-overview": {
      "post": {
        "tags": [
          "Brand Radar"
        ],
        "summary": "Overview - Citations",
        "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.\n\nEvery entity provided in `brands` (and `competitors`, when applicable) must include at least one value in `url_groups`. Entities consisting only of `names` are not supported here because citations are matched against URL groups.",
        "operationId": "brand-radar.citations-overview",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "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"
                  },
                  "select": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "description": "A list of fields to return.\n\n- `brand`\n- `no_tracked_brands`\n- `only_competitors_brands`\n- `only_target_brand`\n- `target_and_competitors_brands`\n- `total`",
                    "examples": [
                      [
                        "field_a",
                        "field_b"
                      ]
                    ]
                  },
                  "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"
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  "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.\n\n`ask_volume` - New calculation (default). Estimates demand for AI responses by adjusting Google search volume for each AI platform.\n\n`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": []
                  },
                  "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.\nThe `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/brand-radar.entity"
                    },
                    "type": "array",
                    "description": "A list of competitor names and websites to search for.",
                    "default": []
                  },
                  "brands": {
                    "items": {
                      "$ref": "#/components/schemas/brand-radar.entity"
                    },
                    "type": "array",
                    "description": "A list of brand names and websites to search for.",
                    "default": []
                  },
                  "output": {
                    "type": "string",
                    "enum": [
                      "json",
                      "csv",
                      "xml",
                      "php"
                    ],
                    "description": "The output format."
                  }
                },
                "type": "object",
                "required": [
                  "select",
                  "data_source"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.citations-overview"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.citations-overview"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/brand-radar.error_400"
          },
          "401": {
            "$ref": "#/components/responses/brand-radar.error_401"
          },
          "403": {
            "$ref": "#/components/responses/brand-radar.error_403"
          },
          "429": {
            "$ref": "#/components/responses/brand-radar.error_429"
          },
          "500": {
            "$ref": "#/components/responses/brand-radar.error_500"
          }
        }
      }
    },
    "/brand-radar/mentions-overview": {
      "get": {
        "tags": [
          "Brand Radar"
        ],
        "summary": "Overview - Mentions",
        "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": "brand-radar.mentions-overview",
        "parameters": [
          {
            "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": "A comma-separated list of fields to return.\n\n- `brand`\n- `no_tracked_brands`\n- `only_competitors_brands`\n- `only_target_brand`\n- `target_and_competitors_brands`\n- `total`",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "select",
            "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.\n\n`ask_volume` - New calculation (default). Estimates demand for AI responses by adjusting Google search volume for each AI platform.\n\n`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": "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.\nThe `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/brand-radar.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.mentions-overview"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.mentions-overview"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/brand-radar.error_400"
          },
          "401": {
            "$ref": "#/components/responses/brand-radar.error_401"
          },
          "403": {
            "$ref": "#/components/responses/brand-radar.error_403"
          },
          "429": {
            "$ref": "#/components/responses/brand-radar.error_429"
          },
          "500": {
            "$ref": "#/components/responses/brand-radar.error_500"
          }
        }
      },
      "post": {
        "tags": [
          "Brand Radar"
        ],
        "summary": "Overview - Mentions",
        "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.\n\nEvery entity provided in `brands` (and `competitors`, when applicable) must include at least one value in `names`. Entities consisting only of `url_groups` are not supported here because mentions are matched against brand names.",
        "operationId": "brand-radar.mentions-overview.post",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "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"
                  },
                  "select": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "description": "A list of fields to return.\n\n- `brand`\n- `no_tracked_brands`\n- `only_competitors_brands`\n- `only_target_brand`\n- `target_and_competitors_brands`\n- `total`",
                    "examples": [
                      [
                        "field_a",
                        "field_b"
                      ]
                    ]
                  },
                  "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"
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  "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.\n\n`ask_volume` - New calculation (default). Estimates demand for AI responses by adjusting Google search volume for each AI platform.\n\n`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": []
                  },
                  "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.\nThe `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/brand-radar.entity"
                    },
                    "type": "array",
                    "description": "A list of competitor names and websites to search for.",
                    "default": []
                  },
                  "brands": {
                    "items": {
                      "$ref": "#/components/schemas/brand-radar.entity"
                    },
                    "type": "array",
                    "description": "A list of brand names and websites to search for.",
                    "default": []
                  },
                  "output": {
                    "type": "string",
                    "enum": [
                      "json",
                      "csv",
                      "xml",
                      "php"
                    ],
                    "description": "The output format."
                  }
                },
                "type": "object",
                "required": [
                  "select",
                  "data_source"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.mentions-overview"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.mentions-overview"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/brand-radar.error_400"
          },
          "401": {
            "$ref": "#/components/responses/brand-radar.error_401"
          },
          "403": {
            "$ref": "#/components/responses/brand-radar.error_403"
          },
          "429": {
            "$ref": "#/components/responses/brand-radar.error_429"
          },
          "500": {
            "$ref": "#/components/responses/brand-radar.error_500"
          }
        }
      }
    },
    "/brand-radar/sov-overview": {
      "get": {
        "tags": [
          "Brand Radar"
        ],
        "summary": "Overview - Share of Voice",
        "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": "brand-radar.sov-overview",
        "parameters": [
          {
            "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": "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.\n\n`ask_volume` - New calculation (default). Estimates demand for AI responses by adjusting Google search volume for each AI platform.\n\n`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": "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.\nThe `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/brand-radar.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.sov-overview"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.sov-overview"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/brand-radar.error_400"
          },
          "401": {
            "$ref": "#/components/responses/brand-radar.error_401"
          },
          "403": {
            "$ref": "#/components/responses/brand-radar.error_403"
          },
          "429": {
            "$ref": "#/components/responses/brand-radar.error_429"
          },
          "500": {
            "$ref": "#/components/responses/brand-radar.error_500"
          }
        }
      },
      "post": {
        "tags": [
          "Brand Radar"
        ],
        "summary": "Overview - Share of Voice",
        "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": "brand-radar.sov-overview.post",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "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"
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  "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.\n\n`ask_volume` - New calculation (default). Estimates demand for AI responses by adjusting Google search volume for each AI platform.\n\n`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": []
                  },
                  "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.\nThe `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/brand-radar.entity"
                    },
                    "type": "array",
                    "description": "A list of competitor names and websites to search for.",
                    "default": []
                  },
                  "brands": {
                    "items": {
                      "$ref": "#/components/schemas/brand-radar.entity"
                    },
                    "type": "array",
                    "description": "A list of brand names and websites to search for.",
                    "default": []
                  },
                  "output": {
                    "type": "string",
                    "enum": [
                      "json",
                      "csv",
                      "xml",
                      "php"
                    ],
                    "description": "The output format."
                  }
                },
                "type": "object",
                "required": [
                  "data_source"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.sov-overview"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.sov-overview"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/brand-radar.error_400"
          },
          "401": {
            "$ref": "#/components/responses/brand-radar.error_401"
          },
          "403": {
            "$ref": "#/components/responses/brand-radar.error_403"
          },
          "429": {
            "$ref": "#/components/responses/brand-radar.error_429"
          },
          "500": {
            "$ref": "#/components/responses/brand-radar.error_500"
          }
        }
      }
    },
    "/brand-radar/impressions-history": {
      "get": {
        "tags": [
          "Brand Radar"
        ],
        "summary": "Overview history - Impressions",
        "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": "brand-radar.impressions-history",
        "parameters": [
          {
            "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 end date of the historical period in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_to",
            "in": "query"
          },
          {
            "description": "The start date of the historical period in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_from",
            "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.\n\n`ask_volume` - New calculation (default). Estimates demand for AI responses by adjusting Google search volume for each AI platform.\n\n`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": "The ID of the report to use. If one is given, other parameters are taken from the report (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.\nThe `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": "The brand to search for.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "brand",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/brand-radar.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.impressions-history"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.impressions-history"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/brand-radar.error_400"
          },
          "401": {
            "$ref": "#/components/responses/brand-radar.error_401"
          },
          "403": {
            "$ref": "#/components/responses/brand-radar.error_403"
          },
          "429": {
            "$ref": "#/components/responses/brand-radar.error_429"
          },
          "500": {
            "$ref": "#/components/responses/brand-radar.error_500"
          }
        }
      },
      "post": {
        "tags": [
          "Brand Radar"
        ],
        "summary": "Overview history - Impressions",
        "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": "brand-radar.impressions-history.post",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "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"
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  "date_to": {
                    "type": "string",
                    "format": "date",
                    "description": "The end date of the historical period in YYYY-MM-DD format."
                  },
                  "date_from": {
                    "type": "string",
                    "format": "date",
                    "description": "The start date of the historical period 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.\n\n`ask_volume` - New calculation (default). Estimates demand for AI responses by adjusting Google search volume for each AI platform.\n\n`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": []
                  },
                  "report_id": {
                    "type": "string",
                    "description": "The ID of the report to use. If one is given, other parameters are taken from the report (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.\nThe `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."
                  },
                  "brands": {
                    "items": {
                      "$ref": "#/components/schemas/brand-radar.entity"
                    },
                    "type": "array",
                    "description": "A list of brand names and websites to search for.",
                    "default": []
                  },
                  "output": {
                    "type": "string",
                    "enum": [
                      "json",
                      "csv",
                      "xml",
                      "php"
                    ],
                    "description": "The output format."
                  }
                },
                "type": "object",
                "required": [
                  "date_from",
                  "data_source"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.impressions-history"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.impressions-history"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/brand-radar.error_400"
          },
          "401": {
            "$ref": "#/components/responses/brand-radar.error_401"
          },
          "403": {
            "$ref": "#/components/responses/brand-radar.error_403"
          },
          "429": {
            "$ref": "#/components/responses/brand-radar.error_429"
          },
          "500": {
            "$ref": "#/components/responses/brand-radar.error_500"
          }
        }
      }
    },
    "/brand-radar/citations-history": {
      "post": {
        "tags": [
          "Brand Radar"
        ],
        "summary": "Overview history - Citations",
        "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.\n\nEvery entity provided in `brands` (and `competitors`, when applicable) must include at least one value in `url_groups`. Entities consisting only of `names` are not supported here because citations are matched against URL groups.",
        "operationId": "brand-radar.citations-history",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "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"
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  "date_to": {
                    "type": "string",
                    "format": "date",
                    "description": "The end date of the historical period in YYYY-MM-DD format."
                  },
                  "date_from": {
                    "type": "string",
                    "format": "date",
                    "description": "The start date of the historical period 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.\n\n`ask_volume` - New calculation (default). Estimates demand for AI responses by adjusting Google search volume for each AI platform.\n\n`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": []
                  },
                  "report_id": {
                    "type": "string",
                    "description": "The ID of the report to use. If one is given, other parameters are taken from the report (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.\nThe `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."
                  },
                  "brands": {
                    "items": {
                      "$ref": "#/components/schemas/brand-radar.entity"
                    },
                    "type": "array",
                    "description": "A list of brand names and websites to search for.",
                    "default": []
                  },
                  "output": {
                    "type": "string",
                    "enum": [
                      "json",
                      "csv",
                      "xml",
                      "php"
                    ],
                    "description": "The output format."
                  }
                },
                "type": "object",
                "required": [
                  "date_from",
                  "data_source"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.citations-history"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.citations-history"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/brand-radar.error_400"
          },
          "401": {
            "$ref": "#/components/responses/brand-radar.error_401"
          },
          "403": {
            "$ref": "#/components/responses/brand-radar.error_403"
          },
          "429": {
            "$ref": "#/components/responses/brand-radar.error_429"
          },
          "500": {
            "$ref": "#/components/responses/brand-radar.error_500"
          }
        }
      }
    },
    "/brand-radar/mentions-history": {
      "get": {
        "tags": [
          "Brand Radar"
        ],
        "summary": "Overview history - Mentions",
        "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": "brand-radar.mentions-history",
        "parameters": [
          {
            "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 end date of the historical period in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_to",
            "in": "query"
          },
          {
            "description": "The start date of the historical period in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_from",
            "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.\n\n`ask_volume` - New calculation (default). Estimates demand for AI responses by adjusting Google search volume for each AI platform.\n\n`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": "The ID of the report to use. If one is given, other parameters are taken from the report (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.\nThe `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": "The brand to search for.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "brand",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/brand-radar.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.mentions-history"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.mentions-history"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/brand-radar.error_400"
          },
          "401": {
            "$ref": "#/components/responses/brand-radar.error_401"
          },
          "403": {
            "$ref": "#/components/responses/brand-radar.error_403"
          },
          "429": {
            "$ref": "#/components/responses/brand-radar.error_429"
          },
          "500": {
            "$ref": "#/components/responses/brand-radar.error_500"
          }
        }
      },
      "post": {
        "tags": [
          "Brand Radar"
        ],
        "summary": "Overview history - Mentions",
        "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.\n\nEvery entity provided in `brands` (and `competitors`, when applicable) must include at least one value in `names`. Entities consisting only of `url_groups` are not supported here because mentions are matched against brand names.",
        "operationId": "brand-radar.mentions-history.post",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "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"
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  "date_to": {
                    "type": "string",
                    "format": "date",
                    "description": "The end date of the historical period in YYYY-MM-DD format."
                  },
                  "date_from": {
                    "type": "string",
                    "format": "date",
                    "description": "The start date of the historical period 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.\n\n`ask_volume` - New calculation (default). Estimates demand for AI responses by adjusting Google search volume for each AI platform.\n\n`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": []
                  },
                  "report_id": {
                    "type": "string",
                    "description": "The ID of the report to use. If one is given, other parameters are taken from the report (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.\nThe `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."
                  },
                  "brands": {
                    "items": {
                      "$ref": "#/components/schemas/brand-radar.entity"
                    },
                    "type": "array",
                    "description": "A list of brand names and websites to search for.",
                    "default": []
                  },
                  "output": {
                    "type": "string",
                    "enum": [
                      "json",
                      "csv",
                      "xml",
                      "php"
                    ],
                    "description": "The output format."
                  }
                },
                "type": "object",
                "required": [
                  "date_from",
                  "data_source"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.mentions-history"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.mentions-history"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/brand-radar.error_400"
          },
          "401": {
            "$ref": "#/components/responses/brand-radar.error_401"
          },
          "403": {
            "$ref": "#/components/responses/brand-radar.error_403"
          },
          "429": {
            "$ref": "#/components/responses/brand-radar.error_429"
          },
          "500": {
            "$ref": "#/components/responses/brand-radar.error_500"
          }
        }
      }
    },
    "/brand-radar/sov-history": {
      "get": {
        "tags": [
          "Brand Radar"
        ],
        "summary": "Overview history - Share of Voice",
        "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": "brand-radar.sov-history",
        "parameters": [
          {
            "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 end date of the historical period in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_to",
            "in": "query"
          },
          {
            "description": "The start date of the historical period in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_from",
            "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.\n\n`ask_volume` - New calculation (default). Estimates demand for AI responses by adjusting Google search volume for each AI platform.\n\n`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": "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.\nThe `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/brand-radar.output_json_php"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.sov-history"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.sov-history"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/brand-radar.error_400"
          },
          "401": {
            "$ref": "#/components/responses/brand-radar.error_401"
          },
          "403": {
            "$ref": "#/components/responses/brand-radar.error_403"
          },
          "429": {
            "$ref": "#/components/responses/brand-radar.error_429"
          },
          "500": {
            "$ref": "#/components/responses/brand-radar.error_500"
          }
        }
      },
      "post": {
        "tags": [
          "Brand Radar"
        ],
        "summary": "Overview history - Share of Voice",
        "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": "brand-radar.sov-history.post",
        "parameters": [],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "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"
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  "date_to": {
                    "type": "string",
                    "format": "date",
                    "description": "The end date of the historical period in YYYY-MM-DD format."
                  },
                  "date_from": {
                    "type": "string",
                    "format": "date",
                    "description": "The start date of the historical period 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.\n\n`ask_volume` - New calculation (default). Estimates demand for AI responses by adjusting Google search volume for each AI platform.\n\n`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": []
                  },
                  "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.\nThe `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/brand-radar.entity"
                    },
                    "type": "array",
                    "description": "A list of competitor names and websites to search for.",
                    "default": []
                  },
                  "brands": {
                    "items": {
                      "$ref": "#/components/schemas/brand-radar.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": [
                  "date_from",
                  "data_source"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.sov-history"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.sov-history"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/brand-radar.error_400"
          },
          "401": {
            "$ref": "#/components/responses/brand-radar.error_401"
          },
          "403": {
            "$ref": "#/components/responses/brand-radar.error_403"
          },
          "429": {
            "$ref": "#/components/responses/brand-radar.error_429"
          },
          "500": {
            "$ref": "#/components/responses/brand-radar.error_500"
          }
        }
      }
    },
    "/brand-radar/cited-pages": {
      "get": {
        "tags": [
          "Brand Radar"
        ],
        "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": "brand-radar.cited-pages",
        "parameters": [
          {
            "description": "A comma-separated list of fields to return.\n\n- `responses`\n- `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.\n\n`ask_volume` - New calculation (default). Estimates demand for AI responses by adjusting Google search volume for each AI platform.\n\n`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 comma-separated list of tracked page URLs. When provided, the response includes rows with zero citations for any tracked URLs that have no data.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "default": ""
            },
            "name": "tracked_urls",
            "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.\nThe `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/brand-radar.output_json_php"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.cited-pages"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.cited-pages"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/brand-radar.error_400"
          },
          "401": {
            "$ref": "#/components/responses/brand-radar.error_401"
          },
          "403": {
            "$ref": "#/components/responses/brand-radar.error_403"
          },
          "429": {
            "$ref": "#/components/responses/brand-radar.error_429"
          },
          "500": {
            "$ref": "#/components/responses/brand-radar.error_500"
          }
        }
      },
      "post": {
        "tags": [
          "Brand Radar"
        ],
        "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": "brand-radar.cited-pages.post",
        "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.\n\n- `responses`\n- `url`",
                    "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.\n\n`ask_volume` - New calculation (default). Estimates demand for AI responses by adjusting Google search volume for each AI platform.\n\n`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": []
                  },
                  "tracked_urls": {
                    "items": {
                      "type": "string",
                      "title": "tracked_urls"
                    },
                    "type": "array",
                    "minItems": 1,
                    "description": "A list of tracked page URLs. When provided, the response includes rows with zero citations for any tracked URLs that have no data."
                  },
                  "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.\nThe `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/brand-radar.entity"
                    },
                    "type": "array",
                    "description": "A list of competitor names and websites to search for.",
                    "default": []
                  },
                  "brands": {
                    "items": {
                      "$ref": "#/components/schemas/brand-radar.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/brand-radar.cited-pages"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.cited-pages"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/brand-radar.error_400"
          },
          "401": {
            "$ref": "#/components/responses/brand-radar.error_401"
          },
          "403": {
            "$ref": "#/components/responses/brand-radar.error_403"
          },
          "429": {
            "$ref": "#/components/responses/brand-radar.error_429"
          },
          "500": {
            "$ref": "#/components/responses/brand-radar.error_500"
          }
        }
      }
    },
    "/brand-radar/cited-domains": {
      "get": {
        "tags": [
          "Brand Radar"
        ],
        "summary": "Cited Domains",
        "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": "brand-radar.cited-domains",
        "parameters": [
          {
            "description": "A comma-separated list of fields to return.\n\n- `domain`\n- `pages`\n- `responses`",
            "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.\n\n`ask_volume` - New calculation (default). Estimates demand for AI responses by adjusting Google search volume for each AI platform.\n\n`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": "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.\nThe `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/brand-radar.output_json_php"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.cited-domains"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.cited-domains"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/brand-radar.error_400"
          },
          "401": {
            "$ref": "#/components/responses/brand-radar.error_401"
          },
          "403": {
            "$ref": "#/components/responses/brand-radar.error_403"
          },
          "429": {
            "$ref": "#/components/responses/brand-radar.error_429"
          },
          "500": {
            "$ref": "#/components/responses/brand-radar.error_500"
          }
        }
      },
      "post": {
        "tags": [
          "Brand Radar"
        ],
        "summary": "Cited Domains",
        "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": "brand-radar.cited-domains.post",
        "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.\n\n- `domain`\n- `pages`\n- `responses`",
                    "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.\n\n`ask_volume` - New calculation (default). Estimates demand for AI responses by adjusting Google search volume for each AI platform.\n\n`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": []
                  },
                  "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.\nThe `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/brand-radar.entity"
                    },
                    "type": "array",
                    "description": "A list of competitor names and websites to search for.",
                    "default": []
                  },
                  "brands": {
                    "items": {
                      "$ref": "#/components/schemas/brand-radar.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/brand-radar.cited-domains"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/brand-radar.cited-domains"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/brand-radar.error_400"
          },
          "401": {
            "$ref": "#/components/responses/brand-radar.error_401"
          },
          "403": {
            "$ref": "#/components/responses/brand-radar.error_403"
          },
          "429": {
            "$ref": "#/components/responses/brand-radar.error_429"
          },
          "500": {
            "$ref": "#/components/responses/brand-radar.error_500"
          }
        }
      }
    },
    "/web-analytics/stats": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Stats",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.stats",
        "parameters": [
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.stats"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.stats"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/chart": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Chart",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.chart",
        "parameters": [
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "Time granularity for chart data points.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "hourly",
                "daily",
                "weekly",
                "monthly"
              ]
            },
            "name": "granularity",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.chart"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.chart"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/browsers": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Browsers",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.browsers",
        "parameters": [
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.browsers"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.browsers"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/browsers-chart": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Browsers Chart",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.browsers-chart",
        "parameters": [
          {
            "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "browser_to_chart",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "Time granularity for chart data points.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "hourly",
                "daily",
                "weekly",
                "monthly"
              ]
            },
            "name": "granularity",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.browsers-chart"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.browsers-chart"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/browser-versions": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Browser Versions",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.browser-versions",
        "parameters": [
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.browser-versions"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.browser-versions"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/browser-versions-chart": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Browser Versions Chart",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.browser-versions-chart",
        "parameters": [
          {
            "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "browser_version_to_chart",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "Time granularity for chart data points.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "hourly",
                "daily",
                "weekly",
                "monthly"
              ]
            },
            "name": "granularity",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.browser-versions-chart"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.browser-versions-chart"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/cities": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Cities",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.cities",
        "parameters": [
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.cities"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.cities"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/cities-chart": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Cities Chart",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.cities-chart",
        "parameters": [
          {
            "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "cities_to_chart",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "Time granularity for chart data points.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "hourly",
                "daily",
                "weekly",
                "monthly"
              ]
            },
            "name": "granularity",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.cities-chart"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.cities-chart"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/continents": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Continents",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.continents",
        "parameters": [
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.continents"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.continents"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/continents-chart": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Continents Chart",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.continents-chart",
        "parameters": [
          {
            "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "continents_to_chart",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "Time granularity for chart data points.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "hourly",
                "daily",
                "weekly",
                "monthly"
              ]
            },
            "name": "granularity",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.continents-chart"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.continents-chart"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/countries": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Countries",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.countries",
        "parameters": [
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.countries"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.countries"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/countries-chart": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Countries Chart",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.countries-chart",
        "parameters": [
          {
            "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "countries_to_chart",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "Time granularity for chart data points.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "hourly",
                "daily",
                "weekly",
                "monthly"
              ]
            },
            "name": "granularity",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.countries-chart"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.countries-chart"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/devices": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Devices",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.devices",
        "parameters": [
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.devices"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.devices"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/devices-chart": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Devices Chart",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.devices-chart",
        "parameters": [
          {
            "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "devices_to_chart",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "Time granularity for chart data points.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "hourly",
                "daily",
                "weekly",
                "monthly"
              ]
            },
            "name": "granularity",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.devices-chart"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.devices-chart"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/entry-pages": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Entry Pages",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.entry-pages",
        "parameters": [
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.entry-pages"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.entry-pages"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/entry-pages-chart": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Entry Pages Chart",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.entry-pages-chart",
        "parameters": [
          {
            "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "entry_pages_to_chart",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "Time granularity for chart data points.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "hourly",
                "daily",
                "weekly",
                "monthly"
              ]
            },
            "name": "granularity",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.entry-pages-chart"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.entry-pages-chart"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/exit-pages": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Exit Pages",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.exit-pages",
        "parameters": [
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.exit-pages"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.exit-pages"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/exit-pages-chart": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Exit Pages Chart",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.exit-pages-chart",
        "parameters": [
          {
            "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "exit_pages_to_chart",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "Time granularity for chart data points.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "hourly",
                "daily",
                "weekly",
                "monthly"
              ]
            },
            "name": "granularity",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.exit-pages-chart"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.exit-pages-chart"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/languages": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Languages",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.languages",
        "parameters": [
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.languages"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.languages"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/languages-chart": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Languages Chart",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.languages-chart",
        "parameters": [
          {
            "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "browser_language_to_chart",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "Time granularity for chart data points.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "hourly",
                "daily",
                "weekly",
                "monthly"
              ]
            },
            "name": "granularity",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.languages-chart"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.languages-chart"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/operating-systems": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Operating Systems",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.operating-systems",
        "parameters": [
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.operating-systems"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.operating-systems"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/operating-systems-chart": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Operating Systems Chart",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.operating-systems-chart",
        "parameters": [
          {
            "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "os_to_chart",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "Time granularity for chart data points.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "hourly",
                "daily",
                "weekly",
                "monthly"
              ]
            },
            "name": "granularity",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.operating-systems-chart"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.operating-systems-chart"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/operating-systems-versions": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Operating Systems Versions",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.operating-systems-versions",
        "parameters": [
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.operating-systems-versions"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.operating-systems-versions"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/operating-systems-versions-chart": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Operating Systems Versions Chart",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.operating-systems-versions-chart",
        "parameters": [
          {
            "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "os_versions_to_chart",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "Time granularity for chart data points.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "hourly",
                "daily",
                "weekly",
                "monthly"
              ]
            },
            "name": "granularity",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.operating-systems-versions-chart"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.operating-systems-versions-chart"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/source-channels": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Source Channels",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.source-channels",
        "parameters": [
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.source-channels"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.source-channels"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/source-channels-chart": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Source Channels Chart",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.source-channels-chart",
        "parameters": [
          {
            "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "source_channels_to_chart",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "Time granularity for chart data points.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "hourly",
                "daily",
                "weekly",
                "monthly"
              ]
            },
            "name": "granularity",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.source-channels-chart"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.source-channels-chart"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/sources": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Sources",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.sources",
        "parameters": [
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.sources"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.sources"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/sources-chart": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Sources Chart",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.sources-chart",
        "parameters": [
          {
            "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "sources_to_chart",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "Time granularity for chart data points.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "hourly",
                "daily",
                "weekly",
                "monthly"
              ]
            },
            "name": "granularity",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.sources-chart"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.sources-chart"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/referrers": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Referrers",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.referrers",
        "parameters": [
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.referrers"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.referrers"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/referrers-chart": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Referrers Chart",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.referrers-chart",
        "parameters": [
          {
            "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "source_referers_to_chart",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "Time granularity for chart data points.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "hourly",
                "daily",
                "weekly",
                "monthly"
              ]
            },
            "name": "granularity",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.referrers-chart"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.referrers-chart"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/top-pages": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Top Pages",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.top-pages",
        "parameters": [
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.top-pages"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.top-pages"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/top-pages-chart": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "Top Pages Chart",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.top-pages-chart",
        "parameters": [
          {
            "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "pages_to_chart",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "Time granularity for chart data points.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "hourly",
                "daily",
                "weekly",
                "monthly"
              ]
            },
            "name": "granularity",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.top-pages-chart"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.top-pages-chart"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/utm-params": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "UTM Parameters",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.utm-params",
        "parameters": [
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "Order by metric, as `metric:desc` or `metric:asc`. The following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Specify a UTM parameter to use as dimension.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "utm_source",
                "utm_medium",
                "utm_campaign",
                "utm_term",
                "utm_content"
              ]
            },
            "name": "utm_param",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.utm-params"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.utm-params"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/web-analytics/utm-params-chart": {
      "get": {
        "tags": [
          "Web Analytics"
        ],
        "summary": "UTM Parameters Chart",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "web-analytics.utm-params-chart",
        "parameters": [
          {
            "description": "Specify which values to chart (as a comma separated list), if not provided then `(top5-by-visitors)` is used by default (which charts top 5 values by visitor count).",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "utm_params_to_chart",
            "in": "query"
          },
          {
            "description": "Filter expression. Can mention dimensions and metrics.\n\nThe following dimensions are supported:\n\n**source_channel**: Source Channel  \ntype: enum (search \\| llm \\| email \\| paid \\| search/paid \\| social \\| unknown \\| direct \\| newsletter \\| shopping/organic \\| shopping/paid \\| audio \\| social/paid \\| cross-network \\| mobile-push-notification \\| sms \\| affiliate \\| referral \\| display \\| internal)\n\n**source**: Source  \ntype: string\n\n**source_referer**: Referer source  \ntype: string\n\n**source_referer_domain**: Referer domain  \ntype: string\n\n**utm_source**: UTM source  \ntype: string\n\n**utm_medium**: UTM medium  \ntype: string\n\n**utm_campaign**: UTM campaign  \ntype: string\n\n**utm_term**: UTM term  \ntype: string\n\n**utm_content**: UTM content  \ntype: string\n\n**page**: Page URL  \ntype: url\n\n**page_domain**: Page domain  \ntype: string\n\n**page_title**: Page title  \ntype: string\n\n**entry_page**: Entry page URL  \ntype: url\n\n**exit_page**: Exit page URL  \ntype: url\n\n**continent**: Continent  \ntype: enum (AF \\| AS \\| EU \\| NA \\| OC \\| SA \\| AN \\| )\n\n**country**: Country  \ntype: string\n\n**city**: City  \ntype: string\n\n**browser_language**: Browser language  \ntype: string\n\n**browser**: Browser  \ntype: string\n\n**browser_version**: Browser version  \ntype: string\n\n**os**: Operating system  \ntype: string\n\n**os_version**: Operating system version  \ntype: string\n\n**device**: Device type  \ntype: string\n\n**screensize**: Screen size  \ntype: string\n\n**event_name**: Event name  \ntype: string\n\n**is_external_link_click**: Is external link click  \ntype: boolean\n\n**event_prop:EVENT_PROP**: a custom event property can be specified by its name  \ntype: string\n\nThe following metrics are supported:\n\n**pageviews**: Number of pageview events  \ntype: integer\n\n**visitors**: Number of visitors  \ntype: integer\n\n**visits**: Number of visits  \ntype: integer\n\n**session_bounce_rate**: Session bounce rate (percentage of sessions that triggered only one request)  \ntype: float\n\n**avg_session_length**: Average session length (in seconds)  \ntype: float\n\n**avg_session_duration_sec**: Average session duration (in seconds)  \ntype: integer\n\n**exit_rate**: Exit rate (percentage of pageviews that were the last in the session)  \ntype: float\n\n**exits**: Number of exits  \ntype: integer\n\n**entries**: Number of entries  \ntype: integer\n\n**avg_page_visit_duration_sec**: Average page visit duration (in seconds)  \ntype: integer\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "Time granularity for chart data points.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "hourly",
                "daily",
                "weekly",
                "monthly"
              ]
            },
            "name": "granularity",
            "in": "query"
          },
          {
            "description": "end datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "to",
            "in": "query"
          },
          {
            "description": "start datetime for the data query",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            },
            "name": "from",
            "in": "query"
          },
          {
            "description": "Specify a UTM parameter to use as dimension.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "utm_source",
                "utm_medium",
                "utm_campaign",
                "utm_term",
                "utm_content"
              ]
            },
            "name": "utm_param",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/web-analytics.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.utm-params-chart"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/web-analytics.utm-params-chart"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/web-analytics.error_400"
          },
          "401": {
            "$ref": "#/components/responses/web-analytics.error_401"
          },
          "403": {
            "$ref": "#/components/responses/web-analytics.error_403"
          },
          "429": {
            "$ref": "#/components/responses/web-analytics.error_429"
          },
          "500": {
            "$ref": "#/components/responses/web-analytics.error_500"
          }
        }
      }
    },
    "/gsc/performance-history": {
      "get": {
        "tags": [
          "GSC Insights"
        ],
        "summary": "Performance history",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "gsc.performance-history",
        "parameters": [
          {
            "description": "Project ID. Required when portfolio_id is not provided.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "description": "Portfolio ID. When provided, aggregates data across all GSC-connected projects in the portfolio.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "portfolio_id",
            "in": "query"
          },
          {
            "description": "The start date of the historical period in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_from",
            "in": "query"
          },
          {
            "description": "The end date of the historical period in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_to",
            "in": "query"
          },
          {
            "description": "The time interval used to group historical data.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "daily",
                "weekly",
                "monthly"
              ],
              "default": "monthly"
            },
            "name": "history_grouping",
            "in": "query"
          },
          {
            "description": "The type of search results to return (web, image, video, news).",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "web",
                "image",
                "video",
                "news"
              ],
              "default": "web"
            },
            "name": "search_type",
            "in": "query"
          },
          {
            "description": "A two-letter country code (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"
              ]
            },
            "name": "country",
            "in": "query"
          },
          {
            "description": "Filter by device type (DESKTOP, MOBILE, TABLET). If not specified, all devices are included.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "desktop",
                "mobile",
                "tablet"
              ]
            },
            "name": "device",
            "in": "query"
          },
          {
            "description": "Supported fields:\n- url\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/gsc.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/gsc.performance-history"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/gsc.performance-history"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/gsc.error_400"
          },
          "401": {
            "$ref": "#/components/responses/gsc.error_401"
          },
          "403": {
            "$ref": "#/components/responses/gsc.error_403"
          },
          "429": {
            "$ref": "#/components/responses/gsc.error_429"
          },
          "500": {
            "$ref": "#/components/responses/gsc.error_500"
          }
        }
      }
    },
    "/gsc/positions-history": {
      "get": {
        "tags": [
          "GSC Insights"
        ],
        "summary": "Positions history",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "gsc.positions-history",
        "parameters": [
          {
            "description": "Project ID. Required when portfolio_id is not provided.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "description": "Portfolio ID. When provided, aggregates data across all GSC-connected projects in the portfolio.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "portfolio_id",
            "in": "query"
          },
          {
            "description": "The start date of the historical period in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_from",
            "in": "query"
          },
          {
            "description": "The end date of the historical period in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_to",
            "in": "query"
          },
          {
            "description": "The time interval used to group historical data.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "daily",
                "weekly",
                "monthly"
              ],
              "default": "monthly"
            },
            "name": "history_grouping",
            "in": "query"
          },
          {
            "description": "The type of search results to return (web, image, video, news).",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "web",
                "image",
                "video",
                "news"
              ],
              "default": "web"
            },
            "name": "search_type",
            "in": "query"
          },
          {
            "description": "A two-letter country code (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"
              ]
            },
            "name": "country",
            "in": "query"
          },
          {
            "description": "Filter by device type (DESKTOP, MOBILE, TABLET). If not specified, all devices are included.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "desktop",
                "mobile",
                "tablet"
              ]
            },
            "name": "device",
            "in": "query"
          },
          {
            "description": "Supported fields:\n- url\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/gsc.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/gsc.positions-history"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/gsc.positions-history"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/gsc.error_400"
          },
          "401": {
            "$ref": "#/components/responses/gsc.error_401"
          },
          "403": {
            "$ref": "#/components/responses/gsc.error_403"
          },
          "429": {
            "$ref": "#/components/responses/gsc.error_429"
          },
          "500": {
            "$ref": "#/components/responses/gsc.error_500"
          }
        }
      }
    },
    "/gsc/pages-history": {
      "get": {
        "tags": [
          "GSC Insights"
        ],
        "summary": "Pages history",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "gsc.pages-history",
        "parameters": [
          {
            "description": "Project ID. Required when portfolio_id is not provided.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "description": "Portfolio ID. When provided, aggregates data across all GSC-connected projects in the portfolio.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "portfolio_id",
            "in": "query"
          },
          {
            "description": "The start date of the historical period in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_from",
            "in": "query"
          },
          {
            "description": "The end date of the historical period in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_to",
            "in": "query"
          },
          {
            "description": "The time interval used to group historical data.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "daily",
                "weekly",
                "monthly"
              ],
              "default": "monthly"
            },
            "name": "history_grouping",
            "in": "query"
          },
          {
            "description": "The type of search results to return (web, image, video, news).",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "web",
                "image",
                "video",
                "news"
              ],
              "default": "web"
            },
            "name": "search_type",
            "in": "query"
          },
          {
            "description": "A two-letter country code (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"
              ]
            },
            "name": "country",
            "in": "query"
          },
          {
            "description": "Filter by device type (DESKTOP, MOBILE, TABLET). If not specified, all devices are included.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "desktop",
                "mobile",
                "tablet"
              ]
            },
            "name": "device",
            "in": "query"
          },
          {
            "description": "Supported fields:\n- url\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/gsc.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/gsc.pages-history"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/gsc.pages-history"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/gsc.error_400"
          },
          "401": {
            "$ref": "#/components/responses/gsc.error_401"
          },
          "403": {
            "$ref": "#/components/responses/gsc.error_403"
          },
          "429": {
            "$ref": "#/components/responses/gsc.error_429"
          },
          "500": {
            "$ref": "#/components/responses/gsc.error_500"
          }
        }
      }
    },
    "/gsc/performance-by-device": {
      "get": {
        "tags": [
          "GSC Insights"
        ],
        "summary": "Performance by device",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "gsc.performance-by-device",
        "parameters": [
          {
            "description": "Project ID. Required when portfolio_id is not provided.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "description": "Portfolio ID. When provided, aggregates data across all GSC-connected projects in the portfolio.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "portfolio_id",
            "in": "query"
          },
          {
            "description": "The start date of the historical period in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_from",
            "in": "query"
          },
          {
            "description": "The end date of the historical period in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_to",
            "in": "query"
          },
          {
            "description": "The type of search results to return (web, image, video, news).",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "web",
                "image",
                "video",
                "news"
              ],
              "default": "web"
            },
            "name": "search_type",
            "in": "query"
          },
          {
            "description": "A two-letter country code (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"
              ]
            },
            "name": "country",
            "in": "query"
          },
          {
            "description": "Supported fields:\n- url\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/gsc.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/gsc.performance-by-device"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/gsc.performance-by-device"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/gsc.error_400"
          },
          "401": {
            "$ref": "#/components/responses/gsc.error_401"
          },
          "403": {
            "$ref": "#/components/responses/gsc.error_403"
          },
          "429": {
            "$ref": "#/components/responses/gsc.error_429"
          },
          "500": {
            "$ref": "#/components/responses/gsc.error_500"
          }
        }
      }
    },
    "/gsc/metrics-by-country": {
      "get": {
        "tags": [
          "GSC Insights"
        ],
        "summary": "Metrics by country",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "gsc.metrics-by-country",
        "parameters": [
          {
            "description": "Project ID. Required when portfolio_id is not provided.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "description": "Portfolio ID. When provided, aggregates data across all GSC-connected projects in the portfolio.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "portfolio_id",
            "in": "query"
          },
          {
            "description": "The start date of the historical period in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_from",
            "in": "query"
          },
          {
            "description": "The end date of the historical period in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_to",
            "in": "query"
          },
          {
            "description": "The time interval used to group historical data.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "daily",
                "weekly",
                "monthly"
              ],
              "default": "monthly"
            },
            "name": "history_grouping",
            "in": "query"
          },
          {
            "description": "The type of search results to return (web, image, video, news).",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "web",
                "image",
                "video",
                "news"
              ],
              "default": "web"
            },
            "name": "search_type",
            "in": "query"
          },
          {
            "description": "Filter by device type (DESKTOP, MOBILE, TABLET). If not specified, all devices are included.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "desktop",
                "mobile",
                "tablet"
              ]
            },
            "name": "device",
            "in": "query"
          },
          {
            "description": "Supported fields:\n- url\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/gsc.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/gsc.metrics-by-country"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/gsc.metrics-by-country"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/gsc.error_400"
          },
          "401": {
            "$ref": "#/components/responses/gsc.error_401"
          },
          "403": {
            "$ref": "#/components/responses/gsc.error_403"
          },
          "429": {
            "$ref": "#/components/responses/gsc.error_429"
          },
          "500": {
            "$ref": "#/components/responses/gsc.error_500"
          }
        }
      }
    },
    "/gsc/ctr-by-position": {
      "get": {
        "tags": [
          "GSC Insights"
        ],
        "summary": "CTR by position",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "gsc.ctr-by-position",
        "parameters": [
          {
            "description": "Project ID. Required when portfolio_id is not provided.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "description": "Portfolio ID. When provided, aggregates data across all GSC-connected projects in the portfolio.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "portfolio_id",
            "in": "query"
          },
          {
            "description": "The start date of the historical period in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_from",
            "in": "query"
          },
          {
            "description": "The end date of the historical period in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_to",
            "in": "query"
          },
          {
            "description": "A two-letter country code (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"
              ]
            },
            "name": "country",
            "in": "query"
          },
          {
            "description": "Filter by device type (DESKTOP, MOBILE, TABLET). If not specified, all devices are included.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "desktop",
                "mobile",
                "tablet"
              ]
            },
            "name": "device",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/gsc.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/gsc.ctr-by-position"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/gsc.ctr-by-position"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/gsc.error_400"
          },
          "401": {
            "$ref": "#/components/responses/gsc.error_401"
          },
          "403": {
            "$ref": "#/components/responses/gsc.error_403"
          },
          "429": {
            "$ref": "#/components/responses/gsc.error_429"
          },
          "500": {
            "$ref": "#/components/responses/gsc.error_500"
          }
        }
      }
    },
    "/gsc/performance-by-position": {
      "get": {
        "tags": [
          "GSC Insights"
        ],
        "summary": "Performance by position",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "gsc.performance-by-position",
        "parameters": [
          {
            "description": "Project ID. Required when portfolio_id is not provided.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "description": "Portfolio ID. When provided, aggregates data across all GSC-connected projects in the portfolio.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "portfolio_id",
            "in": "query"
          },
          {
            "description": "The start date of the historical period in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_from",
            "in": "query"
          },
          {
            "description": "The end date of the historical period in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_to",
            "in": "query"
          },
          {
            "description": "The type of search results to return (web, image, video, news).",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "web",
                "image",
                "video",
                "news"
              ],
              "default": "web"
            },
            "name": "search_type",
            "in": "query"
          },
          {
            "description": "A two-letter country code (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"
              ]
            },
            "name": "country",
            "in": "query"
          },
          {
            "description": "Filter by device type (DESKTOP, MOBILE, TABLET). If not specified, all devices are included.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "desktop",
                "mobile",
                "tablet"
              ]
            },
            "name": "device",
            "in": "query"
          },
          {
            "description": "Supported fields:\n- url\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/gsc.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/gsc.performance-by-position"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/gsc.performance-by-position"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/gsc.error_400"
          },
          "401": {
            "$ref": "#/components/responses/gsc.error_401"
          },
          "403": {
            "$ref": "#/components/responses/gsc.error_403"
          },
          "429": {
            "$ref": "#/components/responses/gsc.error_429"
          },
          "500": {
            "$ref": "#/components/responses/gsc.error_500"
          }
        }
      }
    },
    "/gsc/keyword-history": {
      "get": {
        "tags": [
          "GSC Insights"
        ],
        "summary": "Keyword history",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "gsc.keyword-history",
        "parameters": [
          {
            "description": "Project ID. Required when portfolio_id is not provided.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "description": "Portfolio ID. When provided, aggregates data across all GSC-connected projects in the portfolio.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "portfolio_id",
            "in": "query"
          },
          {
            "description": "The start date of the historical period in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_from",
            "in": "query"
          },
          {
            "description": "The end date of the historical period in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_to",
            "in": "query"
          },
          {
            "description": "The time interval used to group historical data.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "daily",
                "weekly",
                "monthly"
              ],
              "default": "monthly"
            },
            "name": "history_grouping",
            "in": "query"
          },
          {
            "description": "A two-letter country code (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"
              ]
            },
            "name": "country",
            "in": "query"
          },
          {
            "description": "Filter by device type (DESKTOP, MOBILE, TABLET). If not specified, all devices are included.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "desktop",
                "mobile",
                "tablet"
              ]
            },
            "name": "device",
            "in": "query"
          },
          {
            "description": "A comma-separated list of keywords to get history data for.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "default": ""
            },
            "name": "keywords",
            "in": "query"
          },
          {
            "description": "Supported fields:\n- url\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/gsc.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/gsc.keyword-history"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/gsc.keyword-history"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/gsc.error_400"
          },
          "401": {
            "$ref": "#/components/responses/gsc.error_401"
          },
          "403": {
            "$ref": "#/components/responses/gsc.error_403"
          },
          "429": {
            "$ref": "#/components/responses/gsc.error_429"
          },
          "500": {
            "$ref": "#/components/responses/gsc.error_500"
          }
        }
      }
    },
    "/gsc/keywords": {
      "get": {
        "tags": [
          "GSC Insights"
        ],
        "summary": "Keywords",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "gsc.keywords",
        "parameters": [
          {
            "description": "Project ID. Required when portfolio_id is not provided.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "description": "Portfolio ID. When provided, aggregates data across all GSC-connected projects in the portfolio.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "portfolio_id",
            "in": "query"
          },
          {
            "description": "The start date of the historical period in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_from",
            "in": "query"
          },
          {
            "description": "The end date of the historical period in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_to",
            "in": "query"
          },
          {
            "description": "The type of search results to return (web, image, video, news).",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "web",
                "image",
                "video",
                "news"
              ],
              "default": "web"
            },
            "name": "search_type",
            "in": "query"
          },
          {
            "description": "A two-letter country code (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"
              ]
            },
            "name": "country",
            "in": "query"
          },
          {
            "description": "Filter by device type (DESKTOP, MOBILE, TABLET). If not specified, all devices are included.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "desktop",
                "mobile",
                "tablet"
              ]
            },
            "name": "device",
            "in": "query"
          },
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer",
              "default": 1000
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "Supported fields:\n- keyword\n- top_url\n- url\n- clicks\n- impressions\n- ctr\n- position\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "The id of an existing keyword list to show metrics for.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "keyword_list_id",
            "in": "query"
          },
          {
            "description": "Keyword lists filter (JSON string). Supports include (is), exclude (is_not), empty (not in any list), and not_empty (in any list).",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "keyword_lists",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/gsc.output_json_php_xml"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/gsc.keywords"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/gsc.keywords"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/gsc.error_400"
          },
          "401": {
            "$ref": "#/components/responses/gsc.error_401"
          },
          "403": {
            "$ref": "#/components/responses/gsc.error_403"
          },
          "429": {
            "$ref": "#/components/responses/gsc.error_429"
          },
          "500": {
            "$ref": "#/components/responses/gsc.error_500"
          }
        }
      }
    },
    "/gsc/page-history": {
      "get": {
        "tags": [
          "GSC Insights"
        ],
        "summary": "Page history",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "gsc.page-history",
        "parameters": [
          {
            "description": "Project ID. Required when portfolio_id is not provided.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "description": "Portfolio ID. When provided, aggregates data across all GSC-connected projects in the portfolio.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "portfolio_id",
            "in": "query"
          },
          {
            "description": "The start date of the historical period in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_from",
            "in": "query"
          },
          {
            "description": "The end date of the historical period in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_to",
            "in": "query"
          },
          {
            "description": "The time interval used to group historical data.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "daily",
                "weekly",
                "monthly"
              ],
              "default": "monthly"
            },
            "name": "history_grouping",
            "in": "query"
          },
          {
            "description": "A two-letter country code (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"
              ]
            },
            "name": "country",
            "in": "query"
          },
          {
            "description": "Filter by device type (DESKTOP, MOBILE, TABLET). If not specified, all devices are included.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "desktop",
                "mobile",
                "tablet"
              ]
            },
            "name": "device",
            "in": "query"
          },
          {
            "description": "A comma-separated list of page URLs to get history data for.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "default": ""
            },
            "name": "pages",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/gsc.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/gsc.page-history"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/gsc.page-history"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/gsc.error_400"
          },
          "401": {
            "$ref": "#/components/responses/gsc.error_401"
          },
          "403": {
            "$ref": "#/components/responses/gsc.error_403"
          },
          "429": {
            "$ref": "#/components/responses/gsc.error_429"
          },
          "500": {
            "$ref": "#/components/responses/gsc.error_500"
          }
        }
      }
    },
    "/gsc/pages": {
      "get": {
        "tags": [
          "GSC Insights"
        ],
        "summary": "Pages",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "gsc.pages",
        "parameters": [
          {
            "description": "Project ID. Required when portfolio_id is not provided.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "description": "Portfolio ID. When provided, aggregates data across all GSC-connected projects in the portfolio.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "portfolio_id",
            "in": "query"
          },
          {
            "description": "The start date of the historical period in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_from",
            "in": "query"
          },
          {
            "description": "The end date of the historical period in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_to",
            "in": "query"
          },
          {
            "description": "The type of search results to return (web, image, video, news).",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "web",
                "image",
                "video",
                "news"
              ],
              "default": "web"
            },
            "name": "search_type",
            "in": "query"
          },
          {
            "description": "A two-letter country code (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"
              ]
            },
            "name": "country",
            "in": "query"
          },
          {
            "description": "Filter by device type (DESKTOP, MOBILE, TABLET). If not specified, all devices are included.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "desktop",
                "mobile",
                "tablet"
              ]
            },
            "name": "device",
            "in": "query"
          },
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer",
              "default": 1000
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "Supported fields:\n- url\n- clicks\n- impressions\n- ctr\n- position\n\nFilter is a JSON string that represents a boolean expression, it should follow the following structure:\n```\n<bool_filter> ::= { \"and\" : <bool_filter>+ }\n              |   { \"or\" : <bool_filter>+ }\n              |   { \"not\" : <bool_filter> }\n              |   <expr>\n\n<expr> ::= {\n             \"field\" : <dimension|metric>,\n             ? \"is\": <condition>,\n           }\n\n<condition> ::= [ \"eq\", <value> ]\n            |   [ \"neq\", <value> ]\n            |   [ \"gt\", <value> ]\n            |   [ \"gte\", <value> ]\n            |   [ \"lt\", <value> ]\n            |   [ \"lte\", <value> ]\n            |   [ \"substring\", <value> ]\n            |   [ \"isubstring\", <value> ]\n            |   [ \"phrase_match\", <value> ]\n            |   [ \"iphrase_match\", <value> ]\n            |   [ \"prefix\", <value> ]\n            |   [ \"suffix\", <value> ]\n```",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/gsc.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/gsc.pages"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/gsc.pages"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/gsc.error_400"
          },
          "401": {
            "$ref": "#/components/responses/gsc.error_401"
          },
          "403": {
            "$ref": "#/components/responses/gsc.error_403"
          },
          "429": {
            "$ref": "#/components/responses/gsc.error_429"
          },
          "500": {
            "$ref": "#/components/responses/gsc.error_500"
          }
        }
      }
    },
    "/gsc/anonymous-queries": {
      "get": {
        "tags": [
          "GSC Insights"
        ],
        "summary": "Anonymous queries",
        "operationId": "gsc.anonymous-queries",
        "parameters": [
          {
            "description": "A manual timeout duration in seconds.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "timeout",
            "in": "query"
          },
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer",
              "default": 1000
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to order results by, with optional direction. See response schema for valid column identifiers.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "examples": [
                "field_a,field_b:asc,field_c:desc"
              ]
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the `select` parameter).\n\n**keyword**  \ntype: string\n\n**url**  \ntype: string",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "where",
            "in": "query"
          },
          {
            "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "select",
            "in": "query"
          },
          {
            "description": "Project ID",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "project_id",
            "in": "query"
          },
          {
            "description": "The start date of the historical period in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_from",
            "in": "query"
          },
          {
            "description": "A two-letter country code (ISO 3166-1 alpha-2).",
            "required": true,
            "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"
              ]
            },
            "name": "country",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/gsc.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/gsc.anonymous-queries"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/gsc.anonymous-queries"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/gsc.error_400"
          },
          "401": {
            "$ref": "#/components/responses/gsc.error_401"
          },
          "403": {
            "$ref": "#/components/responses/gsc.error_403"
          },
          "429": {
            "$ref": "#/components/responses/gsc.error_429"
          },
          "500": {
            "$ref": "#/components/responses/gsc.error_500"
          }
        }
      }
    },
    "/social-media/channels": {
      "get": {
        "tags": [
          "Social Media"
        ],
        "summary": "Channels",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "social-media.channels",
        "parameters": [
          {
            "$ref": "#/components/parameters/social-media.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social-media.channels"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/social-media.channels"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/social-media.error_400"
          },
          "401": {
            "$ref": "#/components/responses/social-media.error_401"
          },
          "403": {
            "$ref": "#/components/responses/social-media.error_403"
          },
          "429": {
            "$ref": "#/components/responses/social-media.error_429"
          },
          "500": {
            "$ref": "#/components/responses/social-media.error_500"
          }
        }
      }
    },
    "/social-media/authors": {
      "get": {
        "tags": [
          "Social Media"
        ],
        "summary": "Authors",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "social-media.authors",
        "parameters": [
          {
            "$ref": "#/components/parameters/social-media.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social-media.authors"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/social-media.authors"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/social-media.error_400"
          },
          "401": {
            "$ref": "#/components/responses/social-media.error_401"
          },
          "403": {
            "$ref": "#/components/responses/social-media.error_403"
          },
          "429": {
            "$ref": "#/components/responses/social-media.error_429"
          },
          "500": {
            "$ref": "#/components/responses/social-media.error_500"
          }
        }
      }
    },
    "/social-media/activity-history": {
      "get": {
        "tags": [
          "Social Media"
        ],
        "summary": "Activity history",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "social-media.activity-history",
        "parameters": [
          {
            "description": "Unique identifier for the post.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "integer"
            },
            "name": "post_id",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/social-media.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social-media.activity-history"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/social-media.activity-history"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/social-media.error_400"
          },
          "401": {
            "$ref": "#/components/responses/social-media.error_401"
          },
          "403": {
            "$ref": "#/components/responses/social-media.error_403"
          },
          "429": {
            "$ref": "#/components/responses/social-media.error_429"
          },
          "500": {
            "$ref": "#/components/responses/social-media.error_500"
          }
        }
      }
    },
    "/social-media/posts": {
      "get": {
        "tags": [
          "Social Media"
        ],
        "summary": "Posts",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "social-media.posts",
        "parameters": [
          {
            "description": "The publishing lifecycle stage of the post.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "published",
                "scheduled",
                "draft",
                "failed",
                "deleted"
              ]
            },
            "name": "status",
            "in": "query"
          },
          {
            "description": "Comma-separated list of channel IDs to filter by.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "default": ""
            },
            "name": "channel_ids",
            "in": "query"
          },
          {
            "description": "Comma-separated list of author user IDs to filter by.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "default": ""
            },
            "name": "author_ids",
            "in": "query"
          },
          {
            "description": "Text search query to filter posts by content.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "search_query",
            "in": "query"
          },
          {
            "description": "The start date of the historical period in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_from",
            "in": "query"
          },
          {
            "description": "The end date of the historical period in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_to",
            "in": "query"
          },
          {
            "description": "Sort field for posts. Metric-based sorting only applies to published posts.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "date",
                "views",
                "unique_views",
                "comments",
                "likes"
              ]
            },
            "name": "order_by",
            "in": "query"
          },
          {
            "description": "The order in which results are returned, ascending or descending.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [
                "asc",
                "desc"
              ]
            },
            "name": "order_direction",
            "in": "query"
          },
          {
            "description": "The number of results to return.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer",
              "default": 50
            },
            "name": "limit",
            "in": "query"
          },
          {
            "description": "The number of results to skip.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "integer",
              "default": 0
            },
            "name": "offset",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/social-media.output_json_php"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social-media.posts"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/social-media.posts"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/social-media.error_400"
          },
          "401": {
            "$ref": "#/components/responses/social-media.error_401"
          },
          "403": {
            "$ref": "#/components/responses/social-media.error_403"
          },
          "429": {
            "$ref": "#/components/responses/social-media.error_429"
          },
          "500": {
            "$ref": "#/components/responses/social-media.error_500"
          }
        }
      }
    },
    "/social-media/channel-metrics": {
      "get": {
        "tags": [
          "Social Media"
        ],
        "summary": "Channel metrics",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "social-media.channel-metrics",
        "parameters": [
          {
            "description": "Unique identifier for the social media channel.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "channel_id",
            "in": "query"
          },
          {
            "description": "The start date of the historical period in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_from",
            "in": "query"
          },
          {
            "description": "The end date of the historical period in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_to",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/social-media.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social-media.channel-metrics"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/social-media.channel-metrics"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/social-media.error_400"
          },
          "401": {
            "$ref": "#/components/responses/social-media.error_401"
          },
          "403": {
            "$ref": "#/components/responses/social-media.error_403"
          },
          "429": {
            "$ref": "#/components/responses/social-media.error_429"
          },
          "500": {
            "$ref": "#/components/responses/social-media.error_500"
          }
        }
      }
    },
    "/social-media/post-metrics": {
      "get": {
        "tags": [
          "Social Media"
        ],
        "summary": "Post metrics",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "social-media.post-metrics",
        "parameters": [
          {
            "description": "Platform-specific post identifier.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "external_post_id",
            "in": "query"
          },
          {
            "description": "Unique identifier for the social media channel.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string"
            },
            "name": "channel_id",
            "in": "query"
          },
          {
            "description": "The start date of the historical period in YYYY-MM-DD format.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_from",
            "in": "query"
          },
          {
            "description": "The end date of the historical period in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "date"
            },
            "name": "date_to",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/social-media.output_json_php"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social-media.post-metrics"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/social-media.post-metrics"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/social-media.error_400"
          },
          "401": {
            "$ref": "#/components/responses/social-media.error_401"
          },
          "403": {
            "$ref": "#/components/responses/social-media.error_403"
          },
          "429": {
            "$ref": "#/components/responses/social-media.error_429"
          },
          "500": {
            "$ref": "#/components/responses/social-media.error_500"
          }
        }
      }
    },
    "/social-media/post": {
      "post": {
        "tags": [
          "Social Media"
        ],
        "summary": "Create post",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "social-media.post",
        "parameters": [
          {
            "$ref": "#/components/parameters/social-media.output"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "channel_ids": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "minItems": 1,
                    "description": "Non-empty list of channel IDs to publish the post to."
                  },
                  "text_content": {
                    "type": "string",
                    "description": "Text content of the post."
                  },
                  "timing": {
                    "type": "string",
                    "enum": [
                      "publish_now",
                      "scheduled",
                      "draft"
                    ],
                    "description": "When to publish the post."
                  },
                  "scheduled_at": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Timestamp for scheduled posts (required when timing is scheduled)",
                    "examples": [
                      "2026-01-01T12:00:00Z"
                    ]
                  },
                  "auto_comment": {
                    "type": "string",
                    "description": "Auto-comment text posted after publishing."
                  }
                },
                "type": "object",
                "required": [
                  "channel_ids",
                  "text_content",
                  "timing"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social-media.post"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/social-media.post"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/social-media.error_400"
          },
          "401": {
            "$ref": "#/components/responses/social-media.error_401"
          },
          "403": {
            "$ref": "#/components/responses/social-media.error_403"
          },
          "429": {
            "$ref": "#/components/responses/social-media.error_429"
          },
          "500": {
            "$ref": "#/components/responses/social-media.error_500"
          }
        }
      },
      "delete": {
        "tags": [
          "Social Media"
        ],
        "summary": "Delete post",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "social-media.post.delete",
        "parameters": [
          {
            "$ref": "#/components/parameters/social-media.output"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "post_id": {
                    "type": "integer",
                    "description": "Unique identifier for the post."
                  }
                },
                "type": "object",
                "required": [
                  "post_id"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social-media.post"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/social-media.post"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/social-media.error_400"
          },
          "401": {
            "$ref": "#/components/responses/social-media.error_401"
          },
          "403": {
            "$ref": "#/components/responses/social-media.error_403"
          },
          "429": {
            "$ref": "#/components/responses/social-media.error_429"
          },
          "500": {
            "$ref": "#/components/responses/social-media.error_500"
          }
        }
      },
      "patch": {
        "tags": [
          "Social Media"
        ],
        "summary": "Update post",
        "description": ">Requests to this endpoint are free and do not consume any API units.",
        "operationId": "social-media.post.patch",
        "parameters": [
          {
            "$ref": "#/components/parameters/social-media.output"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "properties": {
                  "post_id": {
                    "type": "integer",
                    "description": "Unique identifier for the post."
                  },
                  "channel_ids": {
                    "items": {
                      "type": "string"
                    },
                    "type": "array",
                    "minItems": 1,
                    "description": "Non-empty list of channel IDs to publish the post to."
                  },
                  "text_content": {
                    "type": "string",
                    "description": "Text content of the post."
                  },
                  "timing": {
                    "type": "string",
                    "enum": [
                      "publish_now",
                      "scheduled",
                      "draft"
                    ],
                    "description": "When to publish the post."
                  },
                  "scheduled_at": {
                    "type": "string",
                    "format": "date-time",
                    "description": "Timestamp for scheduled posts (required when timing is scheduled)",
                    "examples": [
                      "2026-01-01T12:00:00Z"
                    ]
                  },
                  "auto_comment": {
                    "type": "string",
                    "description": "Auto-comment text posted after publishing."
                  }
                },
                "type": "object",
                "required": [
                  "post_id"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/social-media.post"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/social-media.post"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/social-media.error_400"
          },
          "401": {
            "$ref": "#/components/responses/social-media.error_401"
          },
          "403": {
            "$ref": "#/components/responses/social-media.error_403"
          },
          "429": {
            "$ref": "#/components/responses/social-media.error_429"
          },
          "500": {
            "$ref": "#/components/responses/social-media.error_500"
          }
        }
      }
    },
    "/public/crawler-ips": {
      "get": {
        "tags": [
          "Public"
        ],
        "summary": "Crawler IP addresses",
        "description": ">Requests to this endpoint are free and do not require an API key.",
        "operationId": "public.crawler-ips",
        "parameters": [
          {
            "$ref": "#/components/parameters/public.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/public.crawler-ips"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/public.crawler-ips"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/public.error_400"
          },
          "401": {
            "$ref": "#/components/responses/public.error_401"
          },
          "403": {
            "$ref": "#/components/responses/public.error_403"
          },
          "429": {
            "$ref": "#/components/responses/public.error_429"
          },
          "500": {
            "$ref": "#/components/responses/public.error_500"
          }
        },
        "security": []
      }
    },
    "/public/crawler-ip-ranges": {
      "get": {
        "tags": [
          "Public"
        ],
        "summary": "Crawler IP ranges",
        "description": ">Requests to this endpoint are free and do not require an API key.",
        "operationId": "public.crawler-ip-ranges",
        "parameters": [
          {
            "$ref": "#/components/parameters/public.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/public.crawler-ip-ranges"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/public.crawler-ip-ranges"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/public.error_400"
          },
          "401": {
            "$ref": "#/components/responses/public.error_401"
          },
          "403": {
            "$ref": "#/components/responses/public.error_403"
          },
          "429": {
            "$ref": "#/components/responses/public.error_429"
          },
          "500": {
            "$ref": "#/components/responses/public.error_500"
          }
        },
        "security": []
      }
    },
    "/public/domain-rating-free": {
      "get": {
        "tags": [
          "Public"
        ],
        "summary": "Domain rating free",
        "description": ">Requests to this endpoint are free and do not require an API key.\n\nUse of this data is subject to the Domain Rating License at http://ahrefs.com/legal/domain-rating-license. Attribution required: \"Domain Rating by Ahrefs\" (https://ahrefs.com/).",
        "operationId": "public.domain-rating-free",
        "parameters": [
          {
            "description": "The target of the search: a domain or a URL.",
            "required": true,
            "explode": false,
            "schema": {
              "type": "string",
              "format": "url"
            },
            "name": "target",
            "in": "query"
          },
          {
            "$ref": "#/components/parameters/public.output"
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/public.domain-rating-free"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/public.domain-rating-free"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/public.error_400"
          },
          "401": {
            "$ref": "#/components/responses/public.error_401"
          },
          "403": {
            "$ref": "#/components/responses/public.error_403"
          },
          "429": {
            "$ref": "#/components/responses/public.error_429"
          },
          "500": {
            "$ref": "#/components/responses/public.error_500"
          }
        },
        "security": []
      }
    }
  },
  "components": {
    "securitySchemes": {
      "http": {
        "type": "http",
        "scheme": "bearer"
      }
    },
    "schemas": {
      "site-explorer.Error response": {
        "properties": {
          "error": {
            "type": "string"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-explorer.domain-rating": {
        "properties": {
          "domain_rating": {
            "properties": {
              "ahrefs_rank": {
                "type": [
                  "integer",
                  "null"
                ],
                "title": "ahrefs_rank",
                "description": "The strength of your target's backlink profile compared to the other websites in our database, with rank #1 being the strongest."
              },
              "domain_rating": {
                "type": "number",
                "format": "float",
                "title": "domain_rating",
                "description": "The strength of your target's backlink profile compared to the other websites in our database on a 100-point logarithmic scale."
              }
            },
            "type": "object"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-explorer.backlinks-stats": {
        "properties": {
          "metrics": {
            "properties": {
              "all_time": {
                "type": "integer",
                "title": "all_time",
                "description": "The total number of links from other websites pointing to your target for all time."
              },
              "all_time_refdomains": {
                "type": "integer",
                "title": "all_time_refdomains",
                "description": "(5 units) The total number of unique domains linking to your target for all time."
              },
              "live": {
                "type": "integer",
                "title": "live",
                "description": "The total number of links from other websites pointing to your target."
              },
              "live_refdomains": {
                "type": "integer",
                "title": "live_refdomains",
                "description": "(5 units) The total number of unique domains linking to your target."
              }
            },
            "type": "object"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-explorer.outlinks-stats": {
        "properties": {
          "metrics": {
            "properties": {
              "linked_domains": {
                "type": "integer",
                "title": "linked_domains",
                "description": "The number of unique root domains linked from the target."
              },
              "linked_domains_dofollow": {
                "type": "integer",
                "title": "linked_domains_dofollow",
                "description": "The number of unique root domains linked via dofollow links from the target."
              },
              "outgoing_links": {
                "type": "integer",
                "title": "outgoing_links",
                "description": "The number of external links from the target."
              },
              "outgoing_links_dofollow": {
                "type": "integer",
                "title": "outgoing_links_dofollow",
                "description": "The number of external dofollow links from the target."
              }
            },
            "type": "object"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-explorer.metrics": {
        "properties": {
          "metrics": {
            "properties": {
              "org_cost": {
                "type": [
                  "integer",
                  "null"
                ],
                "title": "org_cost",
                "description": "(10 units) The estimated value of your target's monthly organic search traffic, in USD cents."
              },
              "org_keywords": {
                "type": "integer",
                "title": "org_keywords",
                "description": "The total number of keywords that your target ranks for in the top 100 organic search results."
              },
              "org_keywords_1_3": {
                "type": "integer",
                "title": "org_keywords_1_3",
                "description": "The total number of keywords that your target ranks for in the top 3 organic search results."
              },
              "org_traffic": {
                "type": "integer",
                "title": "org_traffic",
                "description": "(10 units) The estimated number of monthly visitors that your target gets from organic search."
              },
              "paid_cost": {
                "type": [
                  "integer",
                  "null"
                ],
                "title": "paid_cost",
                "description": "(10 units) The estimated cost of your target's monthly paid search traffic, in USD cents."
              },
              "paid_keywords": {
                "type": "integer",
                "title": "paid_keywords",
                "description": "The total number of keywords that your target ranks for in paid search results."
              },
              "paid_pages": {
                "type": "integer",
                "title": "paid_pages",
                "description": "The total number of pages from a target ranking in paid search results."
              },
              "paid_traffic": {
                "type": "integer",
                "title": "paid_traffic",
                "description": "(10 units) The estimated number of monthly visitors that your target gets from paid search."
              }
            },
            "type": "object"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-explorer.ai-responses-count": {
        "properties": {
          "ai_responses_count": {
            "properties": {
              "chatgpt": {
                "properties": {
                  "citations": {
                    "type": "integer"
                  },
                  "pages": {
                    "type": "integer"
                  }
                },
                "type": [
                  "object",
                  "null"
                ],
                "title": "chatgpt",
                "description": "(15 units) Citations to your target in this AI platform's generated answers: the total number of citation links (`citations`) and the number of distinct cited pages (`pages`). `null` if the platform was not requested."
              },
              "copilot": {
                "properties": {
                  "citations": {
                    "type": "integer"
                  },
                  "pages": {
                    "type": "integer"
                  }
                },
                "type": [
                  "object",
                  "null"
                ],
                "title": "copilot",
                "description": "(15 units) Citations to your target in this AI platform's generated answers: the total number of citation links (`citations`) and the number of distinct cited pages (`pages`). `null` if the platform was not requested."
              },
              "gemini": {
                "properties": {
                  "citations": {
                    "type": "integer"
                  },
                  "pages": {
                    "type": "integer"
                  }
                },
                "type": [
                  "object",
                  "null"
                ],
                "title": "gemini",
                "description": "(15 units) Citations to your target in this AI platform's generated answers: the total number of citation links (`citations`) and the number of distinct cited pages (`pages`). `null` if the platform was not requested."
              },
              "google_ai_mode": {
                "properties": {
                  "citations": {
                    "type": "integer"
                  },
                  "pages": {
                    "type": "integer"
                  }
                },
                "type": [
                  "object",
                  "null"
                ],
                "title": "google_ai_mode",
                "description": "(15 units) Citations to your target in this AI platform's generated answers: the total number of citation links (`citations`) and the number of distinct cited pages (`pages`). `null` if the platform was not requested."
              },
              "google_ai_overviews": {
                "properties": {
                  "citations": {
                    "type": "integer"
                  },
                  "pages": {
                    "type": "integer"
                  }
                },
                "type": [
                  "object",
                  "null"
                ],
                "title": "google_ai_overviews",
                "description": "(15 units) Citations to your target in this AI platform's generated answers: the total number of citation links (`citations`) and the number of distinct cited pages (`pages`). `null` if the platform was not requested."
              },
              "google_ai_overviews_keywords": {
                "properties": {
                  "citations": {
                    "type": "integer"
                  },
                  "pages": {
                    "type": "integer"
                  }
                },
                "type": [
                  "object",
                  "null"
                ],
                "title": "google_ai_overviews_keywords",
                "description": "(15 units) Citations to your target in this AI platform's generated answers: the total number of citation links (`citations`) and the number of distinct cited pages (`pages`). `null` if the platform was not requested."
              },
              "grok": {
                "properties": {
                  "citations": {
                    "type": "integer"
                  },
                  "pages": {
                    "type": "integer"
                  }
                },
                "type": [
                  "object",
                  "null"
                ],
                "title": "grok",
                "description": "(15 units) Citations to your target in this AI platform's generated answers: the total number of citation links (`citations`) and the number of distinct cited pages (`pages`). `null` if the platform was not requested."
              },
              "perplexity": {
                "properties": {
                  "citations": {
                    "type": "integer"
                  },
                  "pages": {
                    "type": "integer"
                  }
                },
                "type": [
                  "object",
                  "null"
                ],
                "title": "perplexity",
                "description": "(15 units) Citations to your target in this AI platform's generated answers: the total number of citation links (`citations`) and the number of distinct cited pages (`pages`). `null` if the platform was not requested."
              }
            },
            "type": "object"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-explorer.refdomains-history": {
        "properties": {
          "refdomains": {
            "items": {
              "properties": {
                "date": {
                  "type": "string",
                  "format": "date",
                  "title": "date"
                },
                "refdomains": {
                  "type": "integer",
                  "title": "refdomains",
                  "description": "(5 units) The total number of unique domains linking to your target."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-explorer.domain-rating-history": {
        "properties": {
          "domain_ratings": {
            "items": {
              "properties": {
                "date": {
                  "type": "string",
                  "format": "date",
                  "title": "date"
                },
                "domain_rating": {
                  "type": "number",
                  "format": "float",
                  "title": "domain_rating",
                  "description": "The strength of your target page's backlink profile compared to the other websites in our database on a 100-point logarithmic scale."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-explorer.url-rating-history": {
        "properties": {
          "url_ratings": {
            "items": {
              "properties": {
                "date": {
                  "type": "string",
                  "format": "date",
                  "title": "date"
                },
                "url_rating": {
                  "type": "number",
                  "format": "float",
                  "title": "url_rating",
                  "description": "The strength of your target page's backlink profile compared to the other websites in our database on a 100-point logarithmic scale."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-explorer.pages-history": {
        "properties": {
          "pages": {
            "items": {
              "properties": {
                "date": {
                  "type": "string",
                  "format": "date",
                  "title": "date"
                },
                "pages": {
                  "type": "integer",
                  "title": "pages",
                  "description": "The total number of pages from a target ranking in the top 100 organic search results."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-explorer.metrics-history": {
        "properties": {
          "metrics": {
            "items": {
              "properties": {
                "date": {
                  "type": "string",
                  "format": "date",
                  "title": "date",
                  "description": ""
                },
                "org_cost": {
                  "type": "integer",
                  "title": "org_cost",
                  "description": "(10 units) The estimated cost of your target's monthly organic search traffic, in USD cents."
                },
                "org_traffic": {
                  "type": "integer",
                  "title": "org_traffic",
                  "description": "(10 units) The estimated number of monthly visitors that your target gets from organic search."
                },
                "paid_cost": {
                  "type": "integer",
                  "title": "paid_cost",
                  "description": "(10 units) The estimated cost of your target's monthly paid search traffic, in USD cents."
                },
                "paid_traffic": {
                  "type": "integer",
                  "title": "paid_traffic",
                  "description": "(10 units) The estimated number of monthly visitors that your target gets from paid search."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-explorer.keywords-history": {
        "properties": {
          "keywords": {
            "items": {
              "properties": {
                "date": {
                  "type": "string",
                  "format": "date",
                  "title": "date",
                  "description": ""
                },
                "top11_20": {
                  "type": "integer",
                  "title": "top11_20",
                  "description": "The total number of keywords that your target ranks for in the top 11-20 organic search results."
                },
                "top11_plus": {
                  "type": "integer",
                  "title": "top11_plus",
                  "description": "The total number of keywords that your target ranks for in the top 11+ organic search results."
                },
                "top21_50": {
                  "type": "integer",
                  "title": "top21_50",
                  "description": "The total number of keywords that your target ranks for in the top 21-50 organic search results."
                },
                "top3": {
                  "type": "integer",
                  "title": "top3",
                  "description": "The total number of keywords that your target ranks for in the top 3 organic search results."
                },
                "top4_10": {
                  "type": "integer",
                  "title": "top4_10",
                  "description": "The total number of keywords that your target ranks for in the top 4-10 organic search results."
                },
                "top51_plus": {
                  "type": "integer",
                  "title": "top51_plus",
                  "description": "The total number of keywords that your target ranks for in the top 51+ organic search results."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-explorer.metrics-by-country": {
        "properties": {
          "metrics": {
            "items": {
              "properties": {
                "country": {
                  "type": "string",
                  "enum": [
                    "AD",
                    "AE",
                    "AF",
                    "AG",
                    "AI",
                    "AL",
                    "AM",
                    "AO",
                    "AQ",
                    "AR",
                    "AS",
                    "AT",
                    "AU",
                    "AW",
                    "AX",
                    "AZ",
                    "BA",
                    "BB",
                    "BD",
                    "BE",
                    "BF",
                    "BG",
                    "BH",
                    "BI",
                    "BJ",
                    "BL",
                    "BM",
                    "BN",
                    "BO",
                    "BQ",
                    "BR",
                    "BS",
                    "BT",
                    "BV",
                    "BW",
                    "BY",
                    "BZ",
                    "CA",
                    "CC",
                    "CD",
                    "CF",
                    "CG",
                    "CH",
                    "CI",
                    "CK",
                    "CL",
                    "CM",
                    "CN",
                    "CO",
                    "CR",
                    "CU",
                    "CV",
                    "CW",
                    "CX",
                    "CY",
                    "CZ",
                    "DE",
                    "DJ",
                    "DK",
                    "DM",
                    "DO",
                    "DZ",
                    "EC",
                    "EE",
                    "EG",
                    "EH",
                    "ER",
                    "ES",
                    "ET",
                    "FI",
                    "FJ",
                    "FK",
                    "FM",
                    "FO",
                    "FR",
                    "GA",
                    "GB",
                    "GD",
                    "GE",
                    "GF",
                    "GG",
                    "GH",
                    "GI",
                    "GL",
                    "GM",
                    "GN",
                    "GP",
                    "GQ",
                    "GR",
                    "GS",
                    "GT",
                    "GU",
                    "GW",
                    "GY",
                    "HK",
                    "HM",
                    "HN",
                    "HR",
                    "HT",
                    "HU",
                    "ID",
                    "IE",
                    "IL",
                    "IM",
                    "IN",
                    "IO",
                    "IQ",
                    "IR",
                    "IS",
                    "IT",
                    "JE",
                    "JM",
                    "JO",
                    "JP",
                    "KE",
                    "KG",
                    "KH",
                    "KI",
                    "KM",
                    "KN",
                    "KP",
                    "KR",
                    "KW",
                    "KY",
                    "KZ",
                    "LA",
                    "LB",
                    "LC",
                    "LI",
                    "LK",
                    "LR",
                    "LS",
                    "LT",
                    "LU",
                    "LV",
                    "LY",
                    "MA",
                    "MC",
                    "MD",
                    "ME",
                    "MF",
                    "MG",
                    "MH",
                    "MK",
                    "ML",
                    "MM",
                    "MN",
                    "MO",
                    "MP",
                    "MQ",
                    "MR",
                    "MS",
                    "MT",
                    "MU",
                    "MV",
                    "MW",
                    "MX",
                    "MY",
                    "MZ",
                    "NA",
                    "NC",
                    "NE",
                    "NF",
                    "NG",
                    "NI",
                    "NL",
                    "NO",
                    "NP",
                    "NR",
                    "NU",
                    "NZ",
                    "OM",
                    "OTHER",
                    "PA",
                    "PE",
                    "PF",
                    "PG",
                    "PH",
                    "PK",
                    "PL",
                    "PM",
                    "PN",
                    "PR",
                    "PS",
                    "PT",
                    "PW",
                    "PY",
                    "QA",
                    "RE",
                    "RO",
                    "RS",
                    "RU",
                    "RW",
                    "SA",
                    "SB",
                    "SC",
                    "SD",
                    "SE",
                    "SG",
                    "SH",
                    "SI",
                    "SJ",
                    "SK",
                    "SL",
                    "SM",
                    "SN",
                    "SO",
                    "SR",
                    "SS",
                    "ST",
                    "SV",
                    "SX",
                    "SY",
                    "SZ",
                    "TC",
                    "TD",
                    "TF",
                    "TG",
                    "TH",
                    "TJ",
                    "TK",
                    "TL",
                    "TM",
                    "TN",
                    "TO",
                    "TR",
                    "TT",
                    "TV",
                    "TW",
                    "TZ",
                    "UA",
                    "UG",
                    "UM",
                    "US",
                    "UY",
                    "UZ",
                    "VA",
                    "VC",
                    "VE",
                    "VG",
                    "VI",
                    "VN",
                    "VU",
                    "WF",
                    "WS",
                    "YE",
                    "YT",
                    "ZA",
                    "ZM",
                    "ZW"
                  ],
                  "title": "country"
                },
                "org_cost": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "org_cost",
                  "description": "(10 units) The estimated value of your target's monthly organic search traffic, in USD cents."
                },
                "org_keywords": {
                  "type": "integer",
                  "title": "org_keywords",
                  "description": "The total number of keywords that your target ranks for in the top 100 organic search results."
                },
                "org_keywords_1_3": {
                  "type": "integer",
                  "title": "org_keywords_1_3",
                  "description": "The total number of keywords that your target ranks for in the top 3 organic search results."
                },
                "org_traffic": {
                  "type": "integer",
                  "title": "org_traffic",
                  "description": "(10 units) The estimated number of monthly visitors that your target gets from organic search."
                },
                "paid_cost": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "paid_cost",
                  "description": "(10 units) The estimated cost of your target's monthly paid search traffic, in USD cents."
                },
                "paid_keywords": {
                  "type": "integer",
                  "title": "paid_keywords",
                  "description": "The total number of keywords that your target ranks for in paid search results."
                },
                "paid_pages": {
                  "type": "integer",
                  "title": "paid_pages",
                  "description": "The total number of pages from a target ranking in the top 100 paid search results."
                },
                "paid_traffic": {
                  "type": "integer",
                  "title": "paid_traffic",
                  "description": "(10 units) The estimated number of monthly visitors that your target gets from paid search."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-explorer.pages-by-traffic": {
        "properties": {
          "pages": {
            "properties": {
              "range0_pages": {
                "type": "integer",
                "title": "range0_pages",
                "description": "The total number of pages with 0 traffic."
              },
              "range100_pages": {
                "type": "integer",
                "title": "range100_pages",
                "description": "The total number of pages with 1-100 traffic."
              },
              "range100_traffic": {
                "type": "integer",
                "title": "range100_traffic",
                "description": "(10 units) The total traffic from pages with 1-100 traffic."
              },
              "range10k_pages": {
                "type": "integer",
                "title": "range10k_pages",
                "description": "The total number of pages with 5K-10K traffic."
              },
              "range10k_plus_pages": {
                "type": "integer",
                "title": "range10k_plus_pages",
                "description": "The total number of pages with 10K+ traffic."
              },
              "range10k_plus_traffic": {
                "type": "integer",
                "title": "range10k_plus_traffic",
                "description": "(10 units) The total traffic from pages with 10K+ traffic."
              },
              "range10k_traffic": {
                "type": "integer",
                "title": "range10k_traffic",
                "description": "(10 units) The total traffic from pages with 5K-10K traffic."
              },
              "range1k_pages": {
                "type": "integer",
                "title": "range1k_pages",
                "description": "The total number of pages with 101-1K traffic."
              },
              "range1k_traffic": {
                "type": "integer",
                "title": "range1k_traffic",
                "description": "(10 units) The total traffic from pages with 101-1K traffic."
              },
              "range5k_pages": {
                "type": "integer",
                "title": "range5k_pages",
                "description": "The total number of pages with 1K-5K traffic."
              },
              "range5k_traffic": {
                "type": "integer",
                "title": "range5k_traffic",
                "description": "(10 units) The total traffic from pages with 1K-5K traffic."
              }
            },
            "type": "object"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-explorer.all-backlinks": {
        "properties": {
          "backlinks": {
            "items": {
              "properties": {
                "ahrefs_rank_source": {
                  "type": "integer",
                  "title": "ahrefs_rank_source",
                  "description": "The strength of the referring domain's backlink profile compared to the other websites in our database, with rank #1 being the strongest."
                },
                "ahrefs_rank_target": {
                  "type": "integer",
                  "title": "ahrefs_rank_target",
                  "description": "The strength of the target domain's backlink profile compared to the other websites in our database, with rank #1 being the strongest."
                },
                "alt": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "alt",
                  "description": "The alt attribute of the link."
                },
                "anchor": {
                  "type": "string",
                  "title": "anchor",
                  "description": "The clickable words in a link that point to a URL."
                },
                "broken_redirect_new_target": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "broken_redirect_new_target",
                  "description": "The new destination of a modified redirect."
                },
                "broken_redirect_reason": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "enum": [
                    "droppedmanual",
                    "droppedtooold",
                    "dropped",
                    "codechanged",
                    "nxdomain",
                    "robotsdisallowed",
                    "curlerror",
                    "invalidtarget",
                    "nomorecanonical",
                    "isnowparked",
                    "targetchanged"
                  ],
                  "title": "broken_redirect_reason",
                  "description": "The reason the redirect was considered broken during the last crawl."
                },
                "broken_redirect_source": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "broken_redirect_source",
                  "description": "The redirecting URL that was modified, causing the redirect to become broken."
                },
                "class_c": {
                  "type": "integer",
                  "title": "class_c",
                  "description": "(5 units) The number of unique class_c subnets linking to the referring page."
                },
                "discovered_status": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "enum": [
                    "pagefound",
                    "linkfound",
                    "linkrestored"
                  ],
                  "title": "discovered_status",
                  "description": "The reason the link was discovered during the last crawl: the page was crawled for the first time, the link was added to the page, or the link re-appeared after being removed."
                },
                "domain_rating_source": {
                  "type": "number",
                  "format": "float",
                  "title": "domain_rating_source",
                  "description": "The strength of the referring domain's backlink profile compared to the others in our database on a 100-point scale."
                },
                "domain_rating_target": {
                  "type": "number",
                  "format": "float",
                  "title": "domain_rating_target",
                  "description": "The strength of the referring domain's backlink profile compared to the others in our database on a 100-point scale."
                },
                "drop_reason": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "enum": [
                    "manual",
                    "noratingunused",
                    "notop",
                    "tooold",
                    "oldunavailable",
                    "rescursive",
                    "duplicate",
                    "nxdomain",
                    "malformed",
                    "blockedport",
                    "disallowed",
                    "unlinked",
                    "lowvalue"
                  ],
                  "title": "drop_reason",
                  "description": "The reason we removed the link from our index."
                },
                "encoding": {
                  "type": "string",
                  "title": "encoding",
                  "description": "The character set encoding of the referring page HTML."
                },
                "first_seen": {
                  "type": "string",
                  "format": "date-time",
                  "title": "first_seen",
                  "description": "The date the referring page URL was first discovered."
                },
                "first_seen_link": {
                  "type": "string",
                  "format": "date-time",
                  "title": "first_seen_link",
                  "description": "The date we first found a backlink to your target on a given referring page."
                },
                "http_code": {
                  "type": "integer",
                  "title": "http_code",
                  "description": "The return code from HTTP protocol returned during the referring page crawl."
                },
                "http_crawl": {
                  "type": "boolean",
                  "title": "http_crawl",
                  "description": "The link was discovered without executing javascript and rendering the page."
                },
                "ip_source": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "ip_source",
                  "description": "The referring domain IP address."
                },
                "is_alternate": {
                  "type": "boolean",
                  "title": "is_alternate",
                  "description": "The link with the rel=“alternate” attribute."
                },
                "is_canonical": {
                  "type": "boolean",
                  "title": "is_canonical",
                  "description": "The link with the rel=“canonical” attribute."
                },
                "is_content": {
                  "type": "boolean",
                  "title": "is_content",
                  "description": "The link was found in the biggest piece of content on the page."
                },
                "is_dofollow": {
                  "type": "boolean",
                  "title": "is_dofollow",
                  "description": "The link has no special nofollow attribute."
                },
                "is_form": {
                  "type": "boolean",
                  "title": "is_form",
                  "description": "The link was found in a form HTML tag."
                },
                "is_frame": {
                  "type": "boolean",
                  "title": "is_frame",
                  "description": "The link was found in an iframe HTML tag."
                },
                "is_image": {
                  "type": "boolean",
                  "title": "is_image",
                  "description": "The link is a regular link that has an image inside their href attribute."
                },
                "is_lost": {
                  "type": "boolean",
                  "title": "is_lost",
                  "description": "The link currently does not exist anymore."
                },
                "is_new": {
                  "type": "boolean",
                  "title": "is_new",
                  "description": "The link was discovered on the last crawl."
                },
                "is_nofollow": {
                  "type": "boolean",
                  "title": "is_nofollow",
                  "description": "The link or the referring page has the nofollow attribute set."
                },
                "is_redirect": {
                  "type": "boolean",
                  "title": "is_redirect",
                  "description": "The link pointing to your target via a redirect."
                },
                "is_redirect_lost": {
                  "type": "boolean",
                  "title": "is_redirect_lost",
                  "description": "The redirected link currently does not exist anymore."
                },
                "is_root_source": {
                  "type": "boolean",
                  "title": "is_root_source",
                  "description": "The referring domain name is a root domain name."
                },
                "is_root_target": {
                  "type": "boolean",
                  "title": "is_root_target",
                  "description": "The target domain name is a root domain name."
                },
                "is_rss": {
                  "type": "boolean",
                  "title": "is_rss",
                  "description": "The link was found in an RSS feed."
                },
                "is_spam": {
                  "type": "boolean",
                  "title": "is_spam",
                  "description": "Indicates whether the backlink comes from a known spammy domain."
                },
                "is_sponsored": {
                  "type": "boolean",
                  "title": "is_sponsored",
                  "description": "The link has the Sponsored attribute set in the referring page HTML."
                },
                "is_text": {
                  "type": "boolean",
                  "title": "is_text",
                  "description": "The link is a standard href hyperlink."
                },
                "is_ugc": {
                  "type": "boolean",
                  "title": "is_ugc",
                  "description": "The link has the User Generated Content attribute set in the referring page HTML."
                },
                "js_crawl": {
                  "type": "boolean",
                  "title": "js_crawl",
                  "description": "The link was discovered after executing javascript and rendering the page."
                },
                "languages": {
                  "items": {
                    "type": "string",
                    "title": "languages",
                    "description": "The languages listed in the referring page metadata or detected by the crawler to appear in the HTML."
                  },
                  "type": "array",
                  "title": "languages",
                  "description": "The languages listed in the referring page metadata or detected by the crawler to appear in the HTML."
                },
                "last_seen": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time",
                  "title": "last_seen",
                  "description": "The date we discovered that the link was lost."
                },
                "last_visited": {
                  "type": "string",
                  "format": "date-time",
                  "title": "last_visited",
                  "description": "The date we last verified a live link to your target page."
                },
                "link_group_count": {
                  "type": "integer",
                  "title": "link_group_count",
                  "description": "The number of backlinks that were grouped together based on the aggregation parameter. This field cannot be used with aggregation 'all'."
                },
                "link_type": {
                  "type": "string",
                  "enum": [
                    "redirect",
                    "frame",
                    "text",
                    "form",
                    "canonical",
                    "alternate",
                    "rss",
                    "image"
                  ],
                  "title": "link_type",
                  "description": "The kind of the backlink."
                },
                "linked_domains_source_domain": {
                  "type": "integer",
                  "title": "linked_domains_source_domain",
                  "description": "The number of unique root domains linked from the referring domain."
                },
                "linked_domains_source_page": {
                  "type": "integer",
                  "title": "linked_domains_source_page",
                  "description": "The number of unique root domains linked from the referring page."
                },
                "linked_domains_target_domain": {
                  "type": "integer",
                  "title": "linked_domains_target_domain",
                  "description": "The number of unique root domains linked from the target domain."
                },
                "links_external": {
                  "type": "integer",
                  "title": "links_external",
                  "description": "The number of external links from the referring page."
                },
                "links_internal": {
                  "type": "integer",
                  "title": "links_internal",
                  "description": "The number of internal links from the referring page."
                },
                "lost_reason": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "enum": [
                    "removedfromhtml",
                    "notcanonical",
                    "noindex",
                    "pageredirected",
                    "pageerror",
                    "lostredirect",
                    "notfound"
                  ],
                  "title": "lost_reason",
                  "description": "The reason the link was lost during the last crawl."
                },
                "name_source": {
                  "type": "string",
                  "title": "name_source",
                  "description": "The complete referring domain name, including subdomains."
                },
                "name_target": {
                  "type": "string",
                  "title": "name_target",
                  "description": "The complete target domain name, including subdomains."
                },
                "noindex": {
                  "type": "boolean",
                  "title": "noindex",
                  "description": "The referring page has the noindex meta attribute."
                },
                "page_category_source": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "page_category_source",
                  "description": "Comma-separated list of AI-predicted hierarchical category paths for the referring page. Each value is a slash-prefixed path (e.g. /Business_and_Industrial/Advertising_and_Marketing/Marketing)."
                },
                "page_size": {
                  "type": "integer",
                  "title": "page_size",
                  "description": "The size in bytes of the referring page content."
                },
                "page_type_source": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "page_type_source",
                  "description": "Comma-separated list of AI-predicted hierarchical page type paths for the referring page. Each value is a slash-prefixed path (e.g. /Article/How_to)."
                },
                "port_source": {
                  "type": "integer",
                  "title": "port_source",
                  "description": "The network port of the referring page URL."
                },
                "port_target": {
                  "type": "integer",
                  "title": "port_target",
                  "description": "The network port of the target page URL."
                },
                "positions": {
                  "type": "integer",
                  "title": "positions",
                  "description": "The number of keywords that the referring page ranks for in the top 100 positions."
                },
                "powered_by": {
                  "items": {
                    "type": "string",
                    "title": "powered_by",
                    "description": "Web technologies used to build and serve the referring page content."
                  },
                  "type": "array",
                  "title": "powered_by",
                  "description": "Web technologies used to build and serve the referring page content."
                },
                "redirect_code": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "redirect_code",
                  "description": "The HTTP status code of a referring page pointing to your target via a redirect."
                },
                "redirect_kind": {
                  "items": {
                    "type": "integer",
                    "title": "redirect_kind",
                    "description": "The HTTP status codes returned by the target redirecting URL or redirect chain."
                  },
                  "type": "array",
                  "title": "redirect_kind",
                  "description": "The HTTP status codes returned by the target redirecting URL or redirect chain."
                },
                "refdomains_source": {
                  "type": "integer",
                  "title": "refdomains_source",
                  "description": "(5 units) The number of unique referring domains linking to the referring page."
                },
                "refdomains_source_domain": {
                  "type": "integer",
                  "title": "refdomains_source_domain",
                  "description": "(5 units) The number of unique referring domains linking to the referring domain."
                },
                "refdomains_target_domain": {
                  "type": "integer",
                  "title": "refdomains_target_domain",
                  "description": "(5 units) The number of unique referring domains linking to the target domain."
                },
                "root_name_source": {
                  "type": "string",
                  "title": "root_name_source",
                  "description": "The root domain name of the referring domain, not including subdomains."
                },
                "root_name_target": {
                  "type": "string",
                  "title": "root_name_target",
                  "description": "The root domain name of the target domain, not including subdomains."
                },
                "snippet_left": {
                  "type": "string",
                  "title": "snippet_left",
                  "description": "The snippet of text appearing just before the link."
                },
                "snippet_right": {
                  "type": "string",
                  "title": "snippet_right",
                  "description": "The snippet of text appearing just after the link."
                },
                "source_page_author": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "source_page_author",
                  "description": "The author of the referring page."
                },
                "source_page_publish_date": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date",
                  "title": "source_page_publish_date",
                  "description": "the date we identified the page was published"
                },
                "title": {
                  "type": "string",
                  "title": "title",
                  "description": "The html title of the referring page."
                },
                "tld_class_source": {
                  "type": "string",
                  "enum": [
                    "gov",
                    "edu",
                    "normal"
                  ],
                  "title": "tld_class_source",
                  "description": "The top level domain class of the referring domain."
                },
                "tld_class_target": {
                  "type": "string",
                  "enum": [
                    "gov",
                    "edu",
                    "normal"
                  ],
                  "title": "tld_class_target",
                  "description": "The top level domain class of the target domain."
                },
                "traffic": {
                  "type": "integer",
                  "title": "traffic",
                  "description": "(10 units) The referring page's estimated monthly organic traffic from search."
                },
                "traffic_domain": {
                  "type": "integer",
                  "title": "traffic_domain",
                  "description": "(10 units) The referring domain's estimated monthly organic traffic from search."
                },
                "url_from": {
                  "type": "string",
                  "format": "url",
                  "title": "url_from",
                  "description": "The URL of the page containing a link to your target."
                },
                "url_from_plain": {
                  "type": "string",
                  "title": "url_from_plain",
                  "description": "The referring page URL optimized for use as a filter."
                },
                "url_rating_source": {
                  "type": "number",
                  "format": "float",
                  "title": "url_rating_source",
                  "description": "The strength of the referring page's backlink profile compared to the others in our database on a 100-point scale."
                },
                "url_redirect": {
                  "items": {
                    "type": "string",
                    "format": "url",
                    "title": "url_redirect",
                    "description": "A redirect chain the target URL of the link points to."
                  },
                  "type": "array",
                  "title": "url_redirect",
                  "description": "A redirect chain the target URL of the link points to."
                },
                "url_redirect_with_target": {
                  "items": {
                    "type": "string",
                    "title": "url_redirect_with_target",
                    "description": "The target URL of the link with its redirect chain."
                  },
                  "type": "array",
                  "title": "url_redirect_with_target",
                  "description": "The target URL of the link with its redirect chain."
                },
                "url_to": {
                  "type": "string",
                  "format": "url",
                  "title": "url_to",
                  "description": "The URL the backlink points to."
                },
                "url_to_plain": {
                  "type": "string",
                  "title": "url_to_plain",
                  "description": "The target page URL optimized for use as a filter."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-explorer.broken-backlinks": {
        "properties": {
          "backlinks": {
            "items": {
              "properties": {
                "ahrefs_rank_source": {
                  "type": "integer",
                  "title": "ahrefs_rank_source",
                  "description": "The strength of the referring domain's backlink profile compared to the other websites in our database, with rank #1 being the strongest."
                },
                "ahrefs_rank_target": {
                  "type": "integer",
                  "title": "ahrefs_rank_target",
                  "description": "The strength of the target domain's backlink profile compared to the other websites in our database, with rank #1 being the strongest."
                },
                "alt": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "alt",
                  "description": "The alt attribute of the link."
                },
                "anchor": {
                  "type": "string",
                  "title": "anchor",
                  "description": "The clickable words in a link that point to a URL."
                },
                "class_c": {
                  "type": "integer",
                  "title": "class_c",
                  "description": "(5 units) The number of unique class_c subnets linking to the referring page."
                },
                "domain_rating_source": {
                  "type": "number",
                  "format": "float",
                  "title": "domain_rating_source",
                  "description": "The strength of the referring domain's backlink profile compared to the others in our database on a 100-point scale."
                },
                "domain_rating_target": {
                  "type": "number",
                  "format": "float",
                  "title": "domain_rating_target",
                  "description": "The strength of the referring domain's backlink profile compared to the others in our database on a 100-point scale."
                },
                "encoding": {
                  "type": "string",
                  "title": "encoding",
                  "description": "The character set encoding of the referring page HTML."
                },
                "first_seen": {
                  "type": "string",
                  "format": "date-time",
                  "title": "first_seen",
                  "description": "The date the referring page URL was first discovered."
                },
                "first_seen_link": {
                  "type": "string",
                  "format": "date-time",
                  "title": "first_seen_link",
                  "description": "The date we first found a backlink to your target on a given referring page."
                },
                "http_code": {
                  "type": "integer",
                  "title": "http_code",
                  "description": "The return code from HTTP protocol returned during the referring page crawl."
                },
                "http_code_target": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "http_code_target",
                  "description": "The return code from HTTP protocol returned during the target page crawl."
                },
                "http_crawl": {
                  "type": "boolean",
                  "title": "http_crawl",
                  "description": "The link was discovered without executing javascript and rendering the page."
                },
                "ip_source": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "ip_source",
                  "description": "The referring domain IP address."
                },
                "is_alternate": {
                  "type": "boolean",
                  "title": "is_alternate",
                  "description": "The link with the rel=“alternate” attribute."
                },
                "is_canonical": {
                  "type": "boolean",
                  "title": "is_canonical",
                  "description": "The link with the rel=“canonical” attribute."
                },
                "is_content": {
                  "type": "boolean",
                  "title": "is_content",
                  "description": "The link was found in the biggest piece of content on the page."
                },
                "is_dofollow": {
                  "type": "boolean",
                  "title": "is_dofollow",
                  "description": "The link has no special nofollow attribute."
                },
                "is_form": {
                  "type": "boolean",
                  "title": "is_form",
                  "description": "The link was found in a form HTML tag."
                },
                "is_frame": {
                  "type": "boolean",
                  "title": "is_frame",
                  "description": "The link was found in an iframe HTML tag."
                },
                "is_image": {
                  "type": "boolean",
                  "title": "is_image",
                  "description": "The link is a regular link that has an image inside their href attribute."
                },
                "is_nofollow": {
                  "type": "boolean",
                  "title": "is_nofollow",
                  "description": "The link or the referring page has the nofollow attribute set."
                },
                "is_redirect": {
                  "type": "boolean",
                  "title": "is_redirect",
                  "description": "The link pointing to your target via a redirect."
                },
                "is_root_source": {
                  "type": "boolean",
                  "title": "is_root_source",
                  "description": "The referring domain name is a root domain name."
                },
                "is_root_target": {
                  "type": "boolean",
                  "title": "is_root_target",
                  "description": "The target domain name is a root domain name."
                },
                "is_rss": {
                  "type": "boolean",
                  "title": "is_rss",
                  "description": "The link was found in an RSS feed."
                },
                "is_spam": {
                  "type": "boolean",
                  "title": "is_spam",
                  "description": "Indicates whether the backlink comes from a known spammy domain."
                },
                "is_sponsored": {
                  "type": "boolean",
                  "title": "is_sponsored",
                  "description": "The link has the Sponsored attribute set in the referring page HTML."
                },
                "is_text": {
                  "type": "boolean",
                  "title": "is_text",
                  "description": "The link is a standard href hyperlink."
                },
                "is_ugc": {
                  "type": "boolean",
                  "title": "is_ugc",
                  "description": "The link has the User Generated Content attribute set in the referring page HTML."
                },
                "js_crawl": {
                  "type": "boolean",
                  "title": "js_crawl",
                  "description": "The link was discovered after executing javascript and rendering the page."
                },
                "languages": {
                  "items": {
                    "type": "string",
                    "title": "languages",
                    "description": "The languages listed in the referring page metadata or detected by the crawler to appear in the HTML."
                  },
                  "type": "array",
                  "title": "languages",
                  "description": "The languages listed in the referring page metadata or detected by the crawler to appear in the HTML."
                },
                "last_seen": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time",
                  "title": "last_seen",
                  "description": "The date we discovered that the link was lost."
                },
                "last_visited": {
                  "type": "string",
                  "format": "date-time",
                  "title": "last_visited",
                  "description": "The date we last re-crawled the referring page to verify the backlink is alive."
                },
                "last_visited_target": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time",
                  "title": "last_visited_target",
                  "description": "The date we last re-crawled the target page to verify that it is broken."
                },
                "link_group_count": {
                  "type": "integer",
                  "title": "link_group_count",
                  "description": "The number of backlinks that were grouped together based on the aggregation parameter. This field cannot be used with aggregation 'all'."
                },
                "link_type": {
                  "type": "string",
                  "enum": [
                    "redirect",
                    "frame",
                    "text",
                    "form",
                    "canonical",
                    "alternate",
                    "rss",
                    "image"
                  ],
                  "title": "link_type",
                  "description": "The kind of the backlink."
                },
                "linked_domains_source_domain": {
                  "type": "integer",
                  "title": "linked_domains_source_domain",
                  "description": "The number of unique root domains linked from the referring domain."
                },
                "linked_domains_source_page": {
                  "type": "integer",
                  "title": "linked_domains_source_page",
                  "description": "The number of unique root domains linked from the referring page."
                },
                "linked_domains_target_domain": {
                  "type": "integer",
                  "title": "linked_domains_target_domain",
                  "description": "The number of unique root domains linked from the target domain."
                },
                "links_external": {
                  "type": "integer",
                  "title": "links_external",
                  "description": "The number of external links from the referring page."
                },
                "links_internal": {
                  "type": "integer",
                  "title": "links_internal",
                  "description": "The number of internal links from the referring page."
                },
                "name_source": {
                  "type": "string",
                  "title": "name_source",
                  "description": "The complete referring domain name, including subdomains."
                },
                "name_target": {
                  "type": "string",
                  "title": "name_target",
                  "description": "The complete target domain name, including subdomains."
                },
                "page_category_source": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "page_category_source",
                  "description": "Comma-separated list of AI-predicted hierarchical category paths for the referring page. Each value is a slash-prefixed path (e.g. /Business_and_Industrial/Advertising_and_Marketing/Marketing)."
                },
                "page_size": {
                  "type": "integer",
                  "title": "page_size",
                  "description": "The size in bytes of the referring page content."
                },
                "page_type_source": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "page_type_source",
                  "description": "Comma-separated list of AI-predicted hierarchical page type paths for the referring page. Each value is a slash-prefixed path (e.g. /Article/How_to)."
                },
                "port_source": {
                  "type": "integer",
                  "title": "port_source",
                  "description": "The network port of the referring page URL."
                },
                "port_target": {
                  "type": "integer",
                  "title": "port_target",
                  "description": "The network port of the target page URL."
                },
                "positions": {
                  "type": "integer",
                  "title": "positions",
                  "description": "The number of keywords that the referring page ranks for in the top 100 positions."
                },
                "powered_by": {
                  "items": {
                    "type": "string",
                    "title": "powered_by",
                    "description": "Web technologies used to build and serve the referring page content."
                  },
                  "type": "array",
                  "title": "powered_by",
                  "description": "Web technologies used to build and serve the referring page content."
                },
                "redirect_code": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "redirect_code",
                  "description": "The HTTP status code of a referring page pointing to your target via a redirect."
                },
                "redirect_kind": {
                  "items": {
                    "type": "integer",
                    "title": "redirect_kind",
                    "description": "The HTTP status codes returned by the target redirecting URL or redirect chain."
                  },
                  "type": "array",
                  "title": "redirect_kind",
                  "description": "The HTTP status codes returned by the target redirecting URL or redirect chain."
                },
                "refdomains_source": {
                  "type": "integer",
                  "title": "refdomains_source",
                  "description": "(5 units) The number of unique referring domains linking to the referring page."
                },
                "refdomains_source_domain": {
                  "type": "integer",
                  "title": "refdomains_source_domain",
                  "description": "(5 units) The number of unique referring domains linking to the referring domain."
                },
                "refdomains_target_domain": {
                  "type": "integer",
                  "title": "refdomains_target_domain",
                  "description": "(5 units) The number of unique referring domains linking to the target domain."
                },
                "root_name_source": {
                  "type": "string",
                  "title": "root_name_source",
                  "description": "The root domain name of the referring domain, not including subdomains."
                },
                "root_name_target": {
                  "type": "string",
                  "title": "root_name_target",
                  "description": "The root domain name of the target domain, not including subdomains."
                },
                "snippet_left": {
                  "type": "string",
                  "title": "snippet_left",
                  "description": "The snippet of text appearing just before the link."
                },
                "snippet_right": {
                  "type": "string",
                  "title": "snippet_right",
                  "description": "The snippet of text appearing just after the link."
                },
                "source_page_author": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "source_page_author",
                  "description": "The author of the referring page."
                },
                "title": {
                  "type": "string",
                  "title": "title",
                  "description": "The html title of the referring page."
                },
                "tld_class_source": {
                  "type": "string",
                  "enum": [
                    "gov",
                    "edu",
                    "normal"
                  ],
                  "title": "tld_class_source",
                  "description": "The top level domain class of the referring domain."
                },
                "tld_class_target": {
                  "type": "string",
                  "enum": [
                    "gov",
                    "edu",
                    "normal"
                  ],
                  "title": "tld_class_target",
                  "description": "The top level domain class of the target domain."
                },
                "traffic": {
                  "type": "integer",
                  "title": "traffic",
                  "description": "(10 units) The referring page's estimated monthly organic traffic from search."
                },
                "traffic_domain": {
                  "type": "integer",
                  "title": "traffic_domain",
                  "description": "(10 units) The referring domain's estimated monthly organic traffic from search."
                },
                "url_from": {
                  "type": "string",
                  "format": "url",
                  "title": "url_from",
                  "description": "The URL of the page containing a link to your target."
                },
                "url_from_plain": {
                  "type": "string",
                  "title": "url_from_plain",
                  "description": "The referring page URL optimized for use as a filter."
                },
                "url_rating_source": {
                  "type": "number",
                  "format": "float",
                  "title": "url_rating_source",
                  "description": "The strength of the referring page's backlink profile compared to the others in our database on a 100-point scale."
                },
                "url_redirect": {
                  "items": {
                    "type": "string",
                    "format": "url",
                    "title": "url_redirect",
                    "description": "A redirect chain the target URL of the link points to."
                  },
                  "type": "array",
                  "title": "url_redirect",
                  "description": "A redirect chain the target URL of the link points to."
                },
                "url_redirect_with_target": {
                  "items": {
                    "type": "string",
                    "title": "url_redirect_with_target",
                    "description": "The target URL of the link with its redirect chain."
                  },
                  "type": "array",
                  "title": "url_redirect_with_target",
                  "description": "The target URL of the link with its redirect chain."
                },
                "url_to": {
                  "type": "string",
                  "format": "url",
                  "title": "url_to",
                  "description": "The URL the backlink points to."
                },
                "url_to_plain": {
                  "type": "string",
                  "title": "url_to_plain",
                  "description": "The target page URL optimized for use as a filter."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-explorer.refdomains": {
        "properties": {
          "refdomains": {
            "items": {
              "properties": {
                "dofollow_linked_domains": {
                  "type": "integer",
                  "title": "dofollow_linked_domains",
                  "description": "The number of unique root domains with dofollow links linked from the referring domain."
                },
                "dofollow_links": {
                  "type": "integer",
                  "title": "dofollow_links",
                  "description": "The number of links from the referring domain to your target that don't have the “nofollow” attribute."
                },
                "dofollow_refdomains": {
                  "type": "integer",
                  "title": "dofollow_refdomains",
                  "description": "(5 units) The number of unique domains with dofollow links to the referring domain."
                },
                "domain": {
                  "type": "string",
                  "title": "domain",
                  "description": "A referring domain that has at least one link to your target."
                },
                "domain_rating": {
                  "type": "number",
                  "format": "float",
                  "title": "domain_rating",
                  "description": "The strength of a domain's backlink profile compared to the others in our database on a 100-point scale."
                },
                "first_seen": {
                  "type": "string",
                  "format": "date-time",
                  "title": "first_seen",
                  "description": "The date we first found a backlink to your target from the referring domain."
                },
                "ip_source": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "ip_source",
                  "description": "The referring domain IP address."
                },
                "is_root_domain": {
                  "type": "boolean",
                  "title": "is_root_domain",
                  "description": "The domain name is a root domain name."
                },
                "is_spam": {
                  "type": "boolean",
                  "title": "is_spam",
                  "description": "Indicates whether the backlink comes from a known spammy domain."
                },
                "last_seen": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time",
                  "title": "last_seen",
                  "description": "The date your target lost its last live backlink for the referring domain."
                },
                "links_to_target": {
                  "type": "integer",
                  "title": "links_to_target",
                  "description": "The number of backlinks from the referring domain to your target."
                },
                "lost_links": {
                  "type": "integer",
                  "title": "lost_links",
                  "description": "The number of backlinks lost from the referring domain for the selected time period."
                },
                "new_links": {
                  "type": "integer",
                  "title": "new_links",
                  "description": "The number of new backlinks found from the referring domain for the selected time period."
                },
                "positions_source_domain": {
                  "type": "integer",
                  "title": "positions_source_domain",
                  "description": "The number of keywords that the referring domain ranks for in the top 100 positions."
                },
                "traffic_domain": {
                  "type": "integer",
                  "title": "traffic_domain",
                  "description": "(10 units) The referring domain's estimated monthly organic traffic from search."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-explorer.anchors": {
        "properties": {
          "anchors": {
            "items": {
              "properties": {
                "anchor": {
                  "type": "string",
                  "title": "anchor",
                  "description": "The clickable words in a link that point to a URL."
                },
                "dofollow_links": {
                  "type": "integer",
                  "title": "dofollow_links",
                  "description": "The number of links with a given anchor to your target that don’t have the “nofollow” attribute."
                },
                "first_seen": {
                  "type": "string",
                  "format": "date-time",
                  "title": "first_seen",
                  "description": "The date we first found a link with a given anchor to your target."
                },
                "is_spam": {
                  "type": "boolean",
                  "title": "is_spam",
                  "description": "Indicates whether the backlink comes from a known spammy domain."
                },
                "last_seen": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time",
                  "title": "last_seen",
                  "description": "The date we discovered the last backlink with a given anchor was lost."
                },
                "links_to_target": {
                  "type": "integer",
                  "title": "links_to_target",
                  "description": "The number of inbound backlinks your target has with a given anchor."
                },
                "lost_links": {
                  "type": "integer",
                  "title": "lost_links",
                  "description": "The number of backlinks with a given anchor lost during the selected time period."
                },
                "new_links": {
                  "type": "integer",
                  "title": "new_links",
                  "description": "The number of new backlinks with a given anchor found during the selected time period."
                },
                "refdomains": {
                  "type": "integer",
                  "title": "refdomains",
                  "description": "(5 units) The number of unique domains linking to your target with a given anchor."
                },
                "refpages": {
                  "type": "integer",
                  "title": "refpages",
                  "description": "The number of pages containing a link with a given anchor to your target."
                },
                "top_domain_rating": {
                  "type": "number",
                  "format": "float",
                  "title": "top_domain_rating",
                  "description": "The highest Domain Rating (DR) counted out of all referring domains. DR shows the strength of a website’s backlink profile compared to the others in our database on a 100-point scale."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-explorer.linkeddomains": {
        "properties": {
          "linkeddomains": {
            "items": {
              "properties": {
                "dofollow_linked_domains": {
                  "type": "integer",
                  "title": "dofollow_linked_domains",
                  "description": "The number of unique root domains with dofollow links linked from the linked domain."
                },
                "dofollow_links": {
                  "type": "integer",
                  "title": "dofollow_links",
                  "description": "The number of links from your target to the linked domain that don’t have the “nofollow” attribute."
                },
                "dofollow_refdomains": {
                  "type": "integer",
                  "title": "dofollow_refdomains",
                  "description": "(5 units) The number of unique domains with dofollow links to the linked domain."
                },
                "domain": {
                  "type": "string",
                  "title": "domain",
                  "description": "A linked domain that has at least one link from your target."
                },
                "domain_rating": {
                  "type": "number",
                  "format": "float",
                  "title": "domain_rating",
                  "description": "The strength of a domain's backlink profile compared to the others in our database on a 100-point scale."
                },
                "first_seen": {
                  "type": "string",
                  "format": "date-time",
                  "title": "first_seen",
                  "description": "The date we first found a link to the linked domain from your target."
                },
                "is_root_domain": {
                  "type": "boolean",
                  "title": "is_root_domain",
                  "description": "The domain name is a root domain name."
                },
                "linked_domain_traffic": {
                  "type": "integer",
                  "title": "linked_domain_traffic",
                  "description": "(10 units) The linked domain’s estimated monthly organic traffic from search"
                },
                "linked_pages": {
                  "type": "integer",
                  "title": "linked_pages",
                  "description": "The number of the domain's pages linked from your target."
                },
                "links_from_target": {
                  "type": "integer",
                  "title": "links_from_target",
                  "description": "The number of links to the linked domain from your target."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-explorer.linked-anchors-external": {
        "properties": {
          "linkedanchors": {
            "items": {
              "properties": {
                "anchor": {
                  "type": "string",
                  "title": "anchor",
                  "description": "The clickable words in a link that point to a URL."
                },
                "dofollow_links": {
                  "type": "integer",
                  "title": "dofollow_links",
                  "description": "The number of outbound links with a given anchor from your target that don’t have the “nofollow” attribute."
                },
                "first_seen": {
                  "type": "string",
                  "format": "date-time",
                  "title": "first_seen",
                  "description": "The date we first found a link with a given anchor on your target."
                },
                "linked_domains": {
                  "type": "integer",
                  "title": "linked_domains",
                  "description": "The number of unique domains linked from your target with a given anchor."
                },
                "linked_pages": {
                  "type": "integer",
                  "title": "linked_pages",
                  "description": "The number of unique pages linked from your target with a given anchor."
                },
                "links_from_target": {
                  "type": "integer",
                  "title": "links_from_target",
                  "description": "The number of outbound links your target has with a given anchor."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-explorer.linked-anchors-internal": {
        "properties": {
          "linkedanchors": {
            "items": {
              "properties": {
                "anchor": {
                  "type": "string",
                  "title": "anchor",
                  "description": "The clickable words in a link that point to a URL."
                },
                "dofollow_links": {
                  "type": "integer",
                  "title": "dofollow_links",
                  "description": "The number of outbound links with a given anchor from your target that don’t have the “nofollow” attribute."
                },
                "first_seen": {
                  "type": "string",
                  "format": "date-time",
                  "title": "first_seen",
                  "description": "The date we first found a link with a given anchor on your target."
                },
                "linked_pages": {
                  "type": "integer",
                  "title": "linked_pages",
                  "description": "The number of unique pages linked from your target with a given anchor."
                },
                "links_from_target": {
                  "type": "integer",
                  "title": "links_from_target",
                  "description": "The number of outbound links your target has with a given anchor."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-explorer.organic-keywords": {
        "properties": {
          "keywords": {
            "items": {
              "properties": {
                "all_positions": {
                  "items": {
                    "type": "object",
                    "title": "all_positions",
                    "description": "(5 units) The list of all positions for a keyword."
                  },
                  "type": "array",
                  "title": "all_positions",
                  "description": "(5 units) The list of all positions for a keyword."
                },
                "all_positions_prev": {
                  "items": {
                    "type": "object",
                    "title": "all_positions_prev",
                    "description": "(5 units) The list of all positions for a keyword on the comparison date."
                  },
                  "type": "array",
                  "title": "all_positions_prev",
                  "description": "(5 units) The list of all positions for a keyword on the comparison date."
                },
                "best_position": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "best_position",
                  "description": "The top position your target ranks for in the organic search results for a keyword."
                },
                "best_position_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "best_position_diff",
                  "description": "The change in position between your selected dates."
                },
                "best_position_has_thumbnail": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "best_position_has_thumbnail",
                  "description": "The top position has a thumbnail."
                },
                "best_position_has_thumbnail_prev": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "best_position_has_thumbnail_prev",
                  "description": "The top position has a thumbnail on the comparison date."
                },
                "best_position_has_video": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "best_position_has_video",
                  "description": "The top position has a video."
                },
                "best_position_has_video_prev": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "best_position_has_video_prev",
                  "description": "The top position has a video on the comparison date."
                },
                "best_position_kind": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "enum": [
                    "paid_top",
                    "paid_bottom",
                    "paid_right",
                    "paid_sitelink",
                    "organic",
                    "sitelink",
                    "snippet",
                    "image",
                    "article",
                    "knowledge_card",
                    "knowledge_panel",
                    "local_pack",
                    "local_teaser",
                    "news",
                    "question",
                    "review",
                    "shopping",
                    "tweet",
                    "spelling",
                    "video",
                    "discussion",
                    "ai_overview",
                    "ai_overview_sitelink",
                    "organic_shopping"
                  ],
                  "title": "best_position_kind",
                  "description": "The kind of the top position: organic, paid, or a SERP feature."
                },
                "best_position_kind_merged": {
                  "type": "string",
                  "enum": [
                    "paid_top",
                    "paid_bottom",
                    "paid_right",
                    "paid_sitelink",
                    "organic",
                    "sitelink",
                    "snippet",
                    "image",
                    "article",
                    "knowledge_card",
                    "knowledge_panel",
                    "local_pack",
                    "local_teaser",
                    "news",
                    "question",
                    "review",
                    "shopping",
                    "tweet",
                    "spelling",
                    "video",
                    "discussion",
                    "ai_overview",
                    "ai_overview_sitelink",
                    "organic_shopping"
                  ],
                  "title": "best_position_kind_merged",
                  "description": "The kind of the top position optimized for sorting."
                },
                "best_position_kind_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "enum": [
                    "paid_top",
                    "paid_bottom",
                    "paid_right",
                    "paid_sitelink",
                    "organic",
                    "sitelink",
                    "snippet",
                    "image",
                    "article",
                    "knowledge_card",
                    "knowledge_panel",
                    "local_pack",
                    "local_teaser",
                    "news",
                    "question",
                    "review",
                    "shopping",
                    "tweet",
                    "spelling",
                    "video",
                    "discussion",
                    "ai_overview",
                    "ai_overview_sitelink",
                    "organic_shopping"
                  ],
                  "title": "best_position_kind_prev",
                  "description": "The kind of the top position on the comparison date."
                },
                "best_position_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "best_position_prev",
                  "description": "The top position on the comparison date."
                },
                "best_position_set": {
                  "type": "string",
                  "enum": [
                    "top_3",
                    "top_4_10",
                    "top_11_50",
                    "top_51_more"
                  ],
                  "title": "best_position_set",
                  "description": "The ranking group of the top position."
                },
                "best_position_set_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "enum": [
                    "top_3",
                    "top_4_10",
                    "top_11_50",
                    "top_51_more"
                  ],
                  "title": "best_position_set_prev",
                  "description": "The ranking group of the top position on the comparison date."
                },
                "best_position_url": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "url",
                  "title": "best_position_url",
                  "description": "The ranking URL in organic search results."
                },
                "best_position_url_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "url",
                  "title": "best_position_url_prev",
                  "description": "The ranking URL on the comparison date."
                },
                "cpc": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "cpc",
                  "description": "Cost Per Click shows the average price that advertisers pay for each ad click in paid search results for a keyword, in USD cents."
                },
                "cpc_merged": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "cpc_merged",
                  "description": "The CPC field optimized for sorting."
                },
                "cpc_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "cpc_prev",
                  "description": "The CPC metric on the comparison date."
                },
                "entities": {
                  "items": {
                    "type": "object",
                    "title": "entities",
                    "description": "Organizations, products, persons, works, events, and locations found in a keyword."
                  },
                  "type": "array",
                  "title": "entities",
                  "description": "Organizations, products, persons, works, events, and locations found in a keyword."
                },
                "is_best_position_set_top_11_50": {
                  "type": "boolean",
                  "title": "is_best_position_set_top_11_50",
                  "description": "The ranking group of the top position is 11-50."
                },
                "is_best_position_set_top_11_50_prev": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "is_best_position_set_top_11_50_prev",
                  "description": "The ranking group of the top position was 11-50 on the comparison date."
                },
                "is_best_position_set_top_3": {
                  "type": "boolean",
                  "title": "is_best_position_set_top_3",
                  "description": "The ranking group of the top position is Top 3."
                },
                "is_best_position_set_top_3_prev": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "is_best_position_set_top_3_prev",
                  "description": "The ranking group of the top position was Top 3 on the comparison date."
                },
                "is_best_position_set_top_4_10": {
                  "type": "boolean",
                  "title": "is_best_position_set_top_4_10",
                  "description": "The ranking group of the top position is 4-10."
                },
                "is_best_position_set_top_4_10_prev": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "is_best_position_set_top_4_10_prev",
                  "description": "The ranking group of the top position was 4-10 on the comparison date."
                },
                "is_branded": {
                  "type": "boolean",
                  "title": "is_branded",
                  "description": "User intent: branded. The user is searching for a specific brand or company name."
                },
                "is_commercial": {
                  "type": "boolean",
                  "title": "is_commercial",
                  "description": "User intent: commercial. The user is comparing products or services before making a purchase decision."
                },
                "is_informational": {
                  "type": "boolean",
                  "title": "is_informational",
                  "description": "User intent: informational. The user is looking for information or an answer to a specific question."
                },
                "is_local": {
                  "type": "boolean",
                  "title": "is_local",
                  "description": "User intent: local. The user is looking for information relevant to a specific location or nearby services."
                },
                "is_navigational": {
                  "type": "boolean",
                  "title": "is_navigational",
                  "description": "User intent: navigational. The user is searching for a specific website or web page."
                },
                "is_transactional": {
                  "type": "boolean",
                  "title": "is_transactional",
                  "description": "User intent: transactional. The user is ready to complete an action, often a purchase."
                },
                "keyword": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "keyword",
                  "description": "The keyword your target ranks for."
                },
                "keyword_country": {
                  "type": "string",
                  "enum": [
                    "AD",
                    "AE",
                    "AF",
                    "AG",
                    "AI",
                    "AL",
                    "AM",
                    "AO",
                    "AQ",
                    "AR",
                    "AS",
                    "AT",
                    "AU",
                    "AW",
                    "AX",
                    "AZ",
                    "BA",
                    "BB",
                    "BD",
                    "BE",
                    "BF",
                    "BG",
                    "BH",
                    "BI",
                    "BJ",
                    "BL",
                    "BM",
                    "BN",
                    "BO",
                    "BQ",
                    "BR",
                    "BS",
                    "BT",
                    "BV",
                    "BW",
                    "BY",
                    "BZ",
                    "CA",
                    "CC",
                    "CD",
                    "CF",
                    "CG",
                    "CH",
                    "CI",
                    "CK",
                    "CL",
                    "CM",
                    "CN",
                    "CO",
                    "CR",
                    "CU",
                    "CV",
                    "CW",
                    "CX",
                    "CY",
                    "CZ",
                    "DE",
                    "DJ",
                    "DK",
                    "DM",
                    "DO",
                    "DZ",
                    "EC",
                    "EE",
                    "EG",
                    "EH",
                    "ER",
                    "ES",
                    "ET",
                    "FI",
                    "FJ",
                    "FK",
                    "FM",
                    "FO",
                    "FR",
                    "GA",
                    "GB",
                    "GD",
                    "GE",
                    "GF",
                    "GG",
                    "GH",
                    "GI",
                    "GL",
                    "GM",
                    "GN",
                    "GP",
                    "GQ",
                    "GR",
                    "GS",
                    "GT",
                    "GU",
                    "GW",
                    "GY",
                    "HK",
                    "HM",
                    "HN",
                    "HR",
                    "HT",
                    "HU",
                    "ID",
                    "IE",
                    "IL",
                    "IM",
                    "IN",
                    "IO",
                    "IQ",
                    "IR",
                    "IS",
                    "IT",
                    "JE",
                    "JM",
                    "JO",
                    "JP",
                    "KE",
                    "KG",
                    "KH",
                    "KI",
                    "KM",
                    "KN",
                    "KP",
                    "KR",
                    "KW",
                    "KY",
                    "KZ",
                    "LA",
                    "LB",
                    "LC",
                    "LI",
                    "LK",
                    "LR",
                    "LS",
                    "LT",
                    "LU",
                    "LV",
                    "LY",
                    "MA",
                    "MC",
                    "MD",
                    "ME",
                    "MF",
                    "MG",
                    "MH",
                    "MK",
                    "ML",
                    "MM",
                    "MN",
                    "MO",
                    "MP",
                    "MQ",
                    "MR",
                    "MS",
                    "MT",
                    "MU",
                    "MV",
                    "MW",
                    "MX",
                    "MY",
                    "MZ",
                    "NA",
                    "NC",
                    "NE",
                    "NF",
                    "NG",
                    "NI",
                    "NL",
                    "NO",
                    "NP",
                    "NR",
                    "NU",
                    "NZ",
                    "OM",
                    "OTHER",
                    "PA",
                    "PE",
                    "PF",
                    "PG",
                    "PH",
                    "PK",
                    "PL",
                    "PM",
                    "PN",
                    "PR",
                    "PS",
                    "PT",
                    "PW",
                    "PY",
                    "QA",
                    "RE",
                    "RO",
                    "RS",
                    "RU",
                    "RW",
                    "SA",
                    "SB",
                    "SC",
                    "SD",
                    "SE",
                    "SG",
                    "SH",
                    "SI",
                    "SJ",
                    "SK",
                    "SL",
                    "SM",
                    "SN",
                    "SO",
                    "SR",
                    "SS",
                    "ST",
                    "SV",
                    "SX",
                    "SY",
                    "SZ",
                    "TC",
                    "TD",
                    "TF",
                    "TG",
                    "TH",
                    "TJ",
                    "TK",
                    "TL",
                    "TM",
                    "TN",
                    "TO",
                    "TR",
                    "TT",
                    "TV",
                    "TW",
                    "TZ",
                    "UA",
                    "UG",
                    "UM",
                    "US",
                    "UY",
                    "UZ",
                    "VA",
                    "VC",
                    "VE",
                    "VG",
                    "VI",
                    "VN",
                    "VU",
                    "WF",
                    "WS",
                    "YE",
                    "YT",
                    "ZA",
                    "ZM",
                    "ZW"
                  ],
                  "title": "keyword_country",
                  "description": "The country of a keyword your target ranks for."
                },
                "keyword_difficulty": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "keyword_difficulty",
                  "description": "(10 units) An estimation of how hard it is to rank in the top 10 organic search results for a keyword on a 100-point scale."
                },
                "keyword_difficulty_merged": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "keyword_difficulty_merged",
                  "description": "(10 units) The keyword difficulty field optimized for sorting."
                },
                "keyword_difficulty_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "keyword_difficulty_prev",
                  "description": "(10 units) The keyword difficulty on the comparison date."
                },
                "keyword_language": {
                  "items": {
                    "type": "string",
                    "title": "keyword_language",
                    "description": "The language of the search query"
                  },
                  "type": "array",
                  "title": "keyword_language",
                  "description": "The language of the search query"
                },
                "keyword_merged": {
                  "type": "string",
                  "title": "keyword_merged",
                  "description": "The keyword field optimized for sorting."
                },
                "keyword_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "keyword_prev",
                  "description": "The keyword your target ranks for on the comparison date."
                },
                "language": {
                  "type": "string",
                  "title": "language",
                  "description": "The SERP language."
                },
                "language_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "language_prev",
                  "description": "The SERP language on the comparison date."
                },
                "last_update": {
                  "type": "string",
                  "format": "date-time",
                  "title": "last_update",
                  "description": "The date when we last checked search engine results for a keyword."
                },
                "last_update_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time",
                  "title": "last_update_prev",
                  "description": "The date when we checked search engine results up to the comparison date."
                },
                "serp_features": {
                  "items": {
                    "type": "string",
                    "enum": [
                      "paid_top",
                      "paid_bottom",
                      "paid_right",
                      "paid_sitelink",
                      "organic",
                      "sitelink",
                      "snippet",
                      "image",
                      "article",
                      "knowledge_card",
                      "knowledge_panel",
                      "local_pack",
                      "local_teaser",
                      "news",
                      "question",
                      "review",
                      "shopping",
                      "tweet",
                      "spelling",
                      "video",
                      "discussion",
                      "ai_overview",
                      "ai_overview_sitelink",
                      "organic_shopping",
                      "image_th",
                      "video_th",
                      "ai_overview_found"
                    ],
                    "title": "serp_features",
                    "description": "The SERP features that appear in search results for a keyword."
                  },
                  "type": "array",
                  "title": "serp_features",
                  "description": "The SERP features that appear in search results for a keyword."
                },
                "serp_features_count": {
                  "type": "integer",
                  "title": "serp_features_count",
                  "description": "The number of SERP features that appear in search results for a keyword."
                },
                "serp_features_count_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "serp_features_count_prev",
                  "description": "The number of SERP features on the comparison date."
                },
                "serp_features_merged": {
                  "items": {
                    "type": "string",
                    "enum": [
                      "paid_top",
                      "paid_bottom",
                      "paid_right",
                      "paid_sitelink",
                      "organic",
                      "sitelink",
                      "snippet",
                      "image",
                      "article",
                      "knowledge_card",
                      "knowledge_panel",
                      "local_pack",
                      "local_teaser",
                      "news",
                      "question",
                      "review",
                      "shopping",
                      "tweet",
                      "spelling",
                      "video",
                      "discussion",
                      "ai_overview",
                      "ai_overview_sitelink",
                      "organic_shopping",
                      "image_th",
                      "video_th",
                      "ai_overview_found"
                    ],
                    "title": "serp_features_merged",
                    "description": "The SERP features field optimized for sorting."
                  },
                  "type": "array",
                  "title": "serp_features_merged",
                  "description": "The SERP features field optimized for sorting."
                },
                "serp_features_prev": {
                  "items": {
                    "type": "string",
                    "enum": [
                      "paid_top",
                      "paid_bottom",
                      "paid_right",
                      "paid_sitelink",
                      "organic",
                      "sitelink",
                      "snippet",
                      "image",
                      "article",
                      "knowledge_card",
                      "knowledge_panel",
                      "local_pack",
                      "local_teaser",
                      "news",
                      "question",
                      "review",
                      "shopping",
                      "tweet",
                      "spelling",
                      "video",
                      "discussion",
                      "ai_overview",
                      "ai_overview_sitelink",
                      "organic_shopping",
                      "image_th",
                      "video_th",
                      "ai_overview_found"
                    ],
                    "title": "serp_features_prev",
                    "description": "The SERP features that appear in search results for a keyword on the comparison date."
                  },
                  "type": "array",
                  "title": "serp_features_prev",
                  "description": "The SERP features that appear in search results for a keyword on the comparison date."
                },
                "serp_target_main_positions_count": {
                  "type": "integer",
                  "title": "serp_target_main_positions_count",
                  "description": "The number of target URLs ranking for a keyword excluding positions in Sitelinks, Top stories, Image packs, and posts on X (Twitter)."
                },
                "serp_target_main_positions_count_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "serp_target_main_positions_count_prev",
                  "description": "The number of target URLs ranking for a keyword excluding positions in Sitelinks, Top stories, Image packs, and posts on X (Twitter) on the comparison date."
                },
                "serp_target_positions_count": {
                  "type": "integer",
                  "title": "serp_target_positions_count",
                  "description": "The number of target URLs ranking for a keyword."
                },
                "serp_target_positions_count_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "serp_target_positions_count_prev",
                  "description": "The number of target URLs ranking for a keyword on the comparison date."
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "left",
                    "right",
                    "both"
                  ],
                  "title": "status",
                  "description": "The status of a page: the new page that just started to rank (\"left\"), the lost page that disappeared from search results (\"right\"), or no change (\"both\")."
                },
                "sum_paid_traffic": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "sum_paid_traffic",
                  "description": "(10 units) An estimation of the number of monthly visits that your target gets from paid search for a keyword."
                },
                "sum_paid_traffic_merged": {
                  "type": "integer",
                  "title": "sum_paid_traffic_merged",
                  "description": "(10 units) The paid traffic field optimized for sorting."
                },
                "sum_paid_traffic_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "sum_paid_traffic_prev",
                  "description": "(10 units) The paid traffic on the comparison date."
                },
                "sum_traffic": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "sum_traffic",
                  "description": "(10 units) An estimation of the number of monthly visitors that your target gets from organic search for a keyword."
                },
                "sum_traffic_merged": {
                  "type": "integer",
                  "title": "sum_traffic_merged",
                  "description": "(10 units) The traffic field optimized for sorting."
                },
                "sum_traffic_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "sum_traffic_prev",
                  "description": "(10 units) The traffic on the comparison date."
                },
                "volume": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "volume",
                  "description": "(10 units) An estimation of the number of searches for a keyword over the latest month."
                },
                "volume_desktop_pct": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "volume_desktop_pct",
                  "description": "The percentage of the total search volume that comes from desktop devices."
                },
                "volume_merged": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "volume_merged",
                  "description": "(10 units) The search volume field optimized for sorting."
                },
                "volume_mobile_pct": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "volume_mobile_pct",
                  "description": "The percentage of the total search volume that comes from mobile devices."
                },
                "volume_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "volume_prev",
                  "description": "(10 units) The search volume on the comparison date."
                },
                "words": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "words",
                  "description": "The number of words in a keyword."
                },
                "words_merged": {
                  "type": "integer",
                  "title": "words_merged",
                  "description": "The number of words in a keyword optimized for sorting."
                },
                "words_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "words_prev",
                  "description": "The number of words in a keyword on the comparison date."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-explorer.organic-competitors": {
        "properties": {
          "competitors": {
            "items": {
              "properties": {
                "competitor_domain": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "domain",
                  "title": "competitor_domain",
                  "description": "A competitor's domain of your target in “domains\" group mode."
                },
                "competitor_url": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "url",
                  "title": "competitor_url",
                  "description": "A competitor's URL of your target in pages\" group mode."
                },
                "domain_rating": {
                  "type": "number",
                  "format": "float",
                  "title": "domain_rating",
                  "description": "The strength of a domain's backlink profile compared to the others in our database on a 100-point scale."
                },
                "group_mode": {
                  "type": "string",
                  "enum": [
                    "domains",
                    "pages"
                  ],
                  "title": "group_mode",
                  "description": "To see competing pages instead, use the “exact URL” target mode or “path” target mode if your target doesn't have multiple pages."
                },
                "keywords_common": {
                  "type": "integer",
                  "title": "keywords_common",
                  "description": "Organic keywords that both your target and a competitor are ranking for."
                },
                "keywords_competitor": {
                  "type": "integer",
                  "title": "keywords_competitor",
                  "description": "Organic keywords that a competitor is ranking for, but your target isn't."
                },
                "keywords_target": {
                  "type": "integer",
                  "title": "keywords_target",
                  "description": "Organic keywords that your target is ranking for, but a competitor isn't."
                },
                "pages": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "pages",
                  "description": "The total number of pages from a target ranking in search results."
                },
                "pages_diff": {
                  "type": "integer",
                  "title": "pages_diff",
                  "description": "The change in pages between your selected dates."
                },
                "pages_merged": {
                  "type": "integer",
                  "title": "pages_merged",
                  "description": "The pages field optimized for sorting."
                },
                "pages_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "pages_prev",
                  "description": "The total number of pages from a target ranking in search results on the comparison date."
                },
                "share": {
                  "type": "number",
                  "format": "float",
                  "title": "share",
                  "description": "The percentage of common keywords out of the total number of keywords that your target and a competitor both rank for."
                },
                "traffic": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "traffic",
                  "description": "(10 units) An estimation of the number of monthly visits that a page gets from organic search over the latest month or over the latest known 12 months of data depending on the \"volume_mode\" parameter."
                },
                "traffic_diff": {
                  "type": "integer",
                  "title": "traffic_diff",
                  "description": "The change in traffic between your selected dates."
                },
                "traffic_merged": {
                  "type": "integer",
                  "title": "traffic_merged",
                  "description": "(10 units) The traffic field optimized for sorting."
                },
                "traffic_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "traffic_prev",
                  "description": "(10 units) An estimation of the number of monthly visits that a page gets from organic search over the latest month or over the latest known 12 months of data depending on the \"volume_mode\" parameter on the comparison date."
                },
                "value": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "value",
                  "description": "(10 units) The estimated value of a page's monthly organic search traffic, in USD cents."
                },
                "value_diff": {
                  "type": "integer",
                  "title": "value_diff",
                  "description": "The change in value between your selected dates."
                },
                "value_merged": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "value_merged",
                  "description": "(10 units) The value field optimized for sorting."
                },
                "value_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "value_prev",
                  "description": "(10 units) The estimated value of a page's monthly organic search traffic, in USD cents on the comparison date."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-explorer.top-pages": {
        "properties": {
          "pages": {
            "items": {
              "properties": {
                "keywords": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "keywords",
                  "description": "The total number of keywords that your target ranks for in the top 100 organic search results."
                },
                "keywords_diff": {
                  "type": "integer",
                  "title": "keywords_diff",
                  "description": "The change in keywords between your selected dates."
                },
                "keywords_diff_percent": {
                  "type": "integer",
                  "title": "keywords_diff_percent",
                  "description": "The change in keywords between your selected dates, in percents."
                },
                "keywords_merged": {
                  "type": "integer",
                  "title": "keywords_merged",
                  "description": "The total number of keywords optimized for sorting."
                },
                "keywords_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "keywords_prev",
                  "description": "The keyword your target ranks for on the comparison date."
                },
                "page_type": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "page_type",
                  "description": "Comma-separated list of AI-predicted hierarchical page type paths. Each value is a slash-prefixed path (e.g. /Article/How_to)."
                },
                "raw_url": {
                  "type": "string",
                  "title": "raw_url",
                  "description": "The ranking page URL in encoded format."
                },
                "raw_url_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "raw_url_prev",
                  "description": "The ranking page URL on the comparison date in encoded format."
                },
                "referring_domains": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "referring_domains",
                  "description": "(5 units) The number of unique domains linking to a page."
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "left",
                    "right",
                    "both"
                  ],
                  "title": "status",
                  "description": "The status of a page: the new page that just started to rank (\"left\"), the lost page that disappeared from search results (\"right\"), or no change (\"both\")."
                },
                "sum_traffic": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "sum_traffic",
                  "description": "(10 units) An estimation of the monthly organic search traffic that a page gets from all the keywords that it ranks for."
                },
                "sum_traffic_merged": {
                  "type": "integer",
                  "title": "sum_traffic_merged",
                  "description": "(10 units) The traffic field optimized for sorting."
                },
                "sum_traffic_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "sum_traffic_prev",
                  "description": "(10 units) The traffic on the comparison date."
                },
                "top_keyword": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "top_keyword",
                  "description": "The keyword that brings the most organic traffic to a page."
                },
                "top_keyword_best_position": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "top_keyword_best_position",
                  "description": "The ranking position that a page holds for its top keyword."
                },
                "top_keyword_best_position_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "top_keyword_best_position_diff",
                  "description": "The change in the top position between your selected dates."
                },
                "top_keyword_best_position_kind": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "enum": [
                    "paid_top",
                    "paid_bottom",
                    "paid_right",
                    "paid_sitelink",
                    "organic",
                    "sitelink",
                    "snippet",
                    "image",
                    "article",
                    "knowledge_card",
                    "knowledge_panel",
                    "local_pack",
                    "local_teaser",
                    "news",
                    "question",
                    "review",
                    "shopping",
                    "tweet",
                    "spelling",
                    "video",
                    "discussion",
                    "ai_overview",
                    "ai_overview_sitelink",
                    "organic_shopping"
                  ],
                  "title": "top_keyword_best_position_kind",
                  "description": "The kind of the top position: organic, paid or a SERP feature."
                },
                "top_keyword_best_position_kind_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "enum": [
                    "paid_top",
                    "paid_bottom",
                    "paid_right",
                    "paid_sitelink",
                    "organic",
                    "sitelink",
                    "snippet",
                    "image",
                    "article",
                    "knowledge_card",
                    "knowledge_panel",
                    "local_pack",
                    "local_teaser",
                    "news",
                    "question",
                    "review",
                    "shopping",
                    "tweet",
                    "spelling",
                    "video",
                    "discussion",
                    "ai_overview",
                    "ai_overview_sitelink",
                    "organic_shopping"
                  ],
                  "title": "top_keyword_best_position_kind_prev",
                  "description": "The kind of the top position on the comparison date."
                },
                "top_keyword_best_position_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "top_keyword_best_position_prev",
                  "description": "The top position on the comparison date."
                },
                "top_keyword_best_position_title": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "top_keyword_best_position_title",
                  "description": "The title displayed for the page in its top keyword's SERP."
                },
                "top_keyword_best_position_title_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "top_keyword_best_position_title_prev",
                  "description": "The title displayed for the page in its top keyword's SERP on the comparison date."
                },
                "top_keyword_country": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "enum": [
                    "AD",
                    "AE",
                    "AF",
                    "AG",
                    "AI",
                    "AL",
                    "AM",
                    "AO",
                    "AQ",
                    "AR",
                    "AS",
                    "AT",
                    "AU",
                    "AW",
                    "AX",
                    "AZ",
                    "BA",
                    "BB",
                    "BD",
                    "BE",
                    "BF",
                    "BG",
                    "BH",
                    "BI",
                    "BJ",
                    "BL",
                    "BM",
                    "BN",
                    "BO",
                    "BQ",
                    "BR",
                    "BS",
                    "BT",
                    "BV",
                    "BW",
                    "BY",
                    "BZ",
                    "CA",
                    "CC",
                    "CD",
                    "CF",
                    "CG",
                    "CH",
                    "CI",
                    "CK",
                    "CL",
                    "CM",
                    "CN",
                    "CO",
                    "CR",
                    "CU",
                    "CV",
                    "CW",
                    "CX",
                    "CY",
                    "CZ",
                    "DE",
                    "DJ",
                    "DK",
                    "DM",
                    "DO",
                    "DZ",
                    "EC",
                    "EE",
                    "EG",
                    "EH",
                    "ER",
                    "ES",
                    "ET",
                    "FI",
                    "FJ",
                    "FK",
                    "FM",
                    "FO",
                    "FR",
                    "GA",
                    "GB",
                    "GD",
                    "GE",
                    "GF",
                    "GG",
                    "GH",
                    "GI",
                    "GL",
                    "GM",
                    "GN",
                    "GP",
                    "GQ",
                    "GR",
                    "GS",
                    "GT",
                    "GU",
                    "GW",
                    "GY",
                    "HK",
                    "HM",
                    "HN",
                    "HR",
                    "HT",
                    "HU",
                    "ID",
                    "IE",
                    "IL",
                    "IM",
                    "IN",
                    "IO",
                    "IQ",
                    "IR",
                    "IS",
                    "IT",
                    "JE",
                    "JM",
                    "JO",
                    "JP",
                    "KE",
                    "KG",
                    "KH",
                    "KI",
                    "KM",
                    "KN",
                    "KP",
                    "KR",
                    "KW",
                    "KY",
                    "KZ",
                    "LA",
                    "LB",
                    "LC",
                    "LI",
                    "LK",
                    "LR",
                    "LS",
                    "LT",
                    "LU",
                    "LV",
                    "LY",
                    "MA",
                    "MC",
                    "MD",
                    "ME",
                    "MF",
                    "MG",
                    "MH",
                    "MK",
                    "ML",
                    "MM",
                    "MN",
                    "MO",
                    "MP",
                    "MQ",
                    "MR",
                    "MS",
                    "MT",
                    "MU",
                    "MV",
                    "MW",
                    "MX",
                    "MY",
                    "MZ",
                    "NA",
                    "NC",
                    "NE",
                    "NF",
                    "NG",
                    "NI",
                    "NL",
                    "NO",
                    "NP",
                    "NR",
                    "NU",
                    "NZ",
                    "OM",
                    "OTHER",
                    "PA",
                    "PE",
                    "PF",
                    "PG",
                    "PH",
                    "PK",
                    "PL",
                    "PM",
                    "PN",
                    "PR",
                    "PS",
                    "PT",
                    "PW",
                    "PY",
                    "QA",
                    "RE",
                    "RO",
                    "RS",
                    "RU",
                    "RW",
                    "SA",
                    "SB",
                    "SC",
                    "SD",
                    "SE",
                    "SG",
                    "SH",
                    "SI",
                    "SJ",
                    "SK",
                    "SL",
                    "SM",
                    "SN",
                    "SO",
                    "SR",
                    "SS",
                    "ST",
                    "SV",
                    "SX",
                    "SY",
                    "SZ",
                    "TC",
                    "TD",
                    "TF",
                    "TG",
                    "TH",
                    "TJ",
                    "TK",
                    "TL",
                    "TM",
                    "TN",
                    "TO",
                    "TR",
                    "TT",
                    "TV",
                    "TW",
                    "TZ",
                    "UA",
                    "UG",
                    "UM",
                    "US",
                    "UY",
                    "UZ",
                    "VA",
                    "VC",
                    "VE",
                    "VG",
                    "VI",
                    "VN",
                    "VU",
                    "WF",
                    "WS",
                    "YE",
                    "YT",
                    "ZA",
                    "ZM",
                    "ZW"
                  ],
                  "title": "top_keyword_country",
                  "description": "The country in which a page ranks for its top keyword."
                },
                "top_keyword_country_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "enum": [
                    "AD",
                    "AE",
                    "AF",
                    "AG",
                    "AI",
                    "AL",
                    "AM",
                    "AO",
                    "AQ",
                    "AR",
                    "AS",
                    "AT",
                    "AU",
                    "AW",
                    "AX",
                    "AZ",
                    "BA",
                    "BB",
                    "BD",
                    "BE",
                    "BF",
                    "BG",
                    "BH",
                    "BI",
                    "BJ",
                    "BL",
                    "BM",
                    "BN",
                    "BO",
                    "BQ",
                    "BR",
                    "BS",
                    "BT",
                    "BV",
                    "BW",
                    "BY",
                    "BZ",
                    "CA",
                    "CC",
                    "CD",
                    "CF",
                    "CG",
                    "CH",
                    "CI",
                    "CK",
                    "CL",
                    "CM",
                    "CN",
                    "CO",
                    "CR",
                    "CU",
                    "CV",
                    "CW",
                    "CX",
                    "CY",
                    "CZ",
                    "DE",
                    "DJ",
                    "DK",
                    "DM",
                    "DO",
                    "DZ",
                    "EC",
                    "EE",
                    "EG",
                    "EH",
                    "ER",
                    "ES",
                    "ET",
                    "FI",
                    "FJ",
                    "FK",
                    "FM",
                    "FO",
                    "FR",
                    "GA",
                    "GB",
                    "GD",
                    "GE",
                    "GF",
                    "GG",
                    "GH",
                    "GI",
                    "GL",
                    "GM",
                    "GN",
                    "GP",
                    "GQ",
                    "GR",
                    "GS",
                    "GT",
                    "GU",
                    "GW",
                    "GY",
                    "HK",
                    "HM",
                    "HN",
                    "HR",
                    "HT",
                    "HU",
                    "ID",
                    "IE",
                    "IL",
                    "IM",
                    "IN",
                    "IO",
                    "IQ",
                    "IR",
                    "IS",
                    "IT",
                    "JE",
                    "JM",
                    "JO",
                    "JP",
                    "KE",
                    "KG",
                    "KH",
                    "KI",
                    "KM",
                    "KN",
                    "KP",
                    "KR",
                    "KW",
                    "KY",
                    "KZ",
                    "LA",
                    "LB",
                    "LC",
                    "LI",
                    "LK",
                    "LR",
                    "LS",
                    "LT",
                    "LU",
                    "LV",
                    "LY",
                    "MA",
                    "MC",
                    "MD",
                    "ME",
                    "MF",
                    "MG",
                    "MH",
                    "MK",
                    "ML",
                    "MM",
                    "MN",
                    "MO",
                    "MP",
                    "MQ",
                    "MR",
                    "MS",
                    "MT",
                    "MU",
                    "MV",
                    "MW",
                    "MX",
                    "MY",
                    "MZ",
                    "NA",
                    "NC",
                    "NE",
                    "NF",
                    "NG",
                    "NI",
                    "NL",
                    "NO",
                    "NP",
                    "NR",
                    "NU",
                    "NZ",
                    "OM",
                    "OTHER",
                    "PA",
                    "PE",
                    "PF",
                    "PG",
                    "PH",
                    "PK",
                    "PL",
                    "PM",
                    "PN",
                    "PR",
                    "PS",
                    "PT",
                    "PW",
                    "PY",
                    "QA",
                    "RE",
                    "RO",
                    "RS",
                    "RU",
                    "RW",
                    "SA",
                    "SB",
                    "SC",
                    "SD",
                    "SE",
                    "SG",
                    "SH",
                    "SI",
                    "SJ",
                    "SK",
                    "SL",
                    "SM",
                    "SN",
                    "SO",
                    "SR",
                    "SS",
                    "ST",
                    "SV",
                    "SX",
                    "SY",
                    "SZ",
                    "TC",
                    "TD",
                    "TF",
                    "TG",
                    "TH",
                    "TJ",
                    "TK",
                    "TL",
                    "TM",
                    "TN",
                    "TO",
                    "TR",
                    "TT",
                    "TV",
                    "TW",
                    "TZ",
                    "UA",
                    "UG",
                    "UM",
                    "US",
                    "UY",
                    "UZ",
                    "VA",
                    "VC",
                    "VE",
                    "VG",
                    "VI",
                    "VN",
                    "VU",
                    "WF",
                    "WS",
                    "YE",
                    "YT",
                    "ZA",
                    "ZM",
                    "ZW"
                  ],
                  "title": "top_keyword_country_prev",
                  "description": "The country in which a page ranks for its top keyword on the comparison date."
                },
                "top_keyword_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "top_keyword_prev",
                  "description": "The keyword that brings the most organic traffic to a page on the comparison date."
                },
                "top_keyword_volume": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "top_keyword_volume",
                  "description": "(10 units) An estimation of the average monthly number of searches for the top keyword over the latest month or over the latest known 12 months of data depending on the \"volume_mode\" parameter."
                },
                "top_keyword_volume_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "top_keyword_volume_prev",
                  "description": "(10 units) The search volume on the comparison date."
                },
                "traffic_diff": {
                  "type": "integer",
                  "title": "traffic_diff",
                  "description": "The change in traffic between your selected dates."
                },
                "traffic_diff_percent": {
                  "type": "integer",
                  "title": "traffic_diff_percent",
                  "description": "The change in traffic between your selected dates, in percents."
                },
                "ur": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "ur",
                  "description": "URL Rating (UR) shows the strength of your target page’s backlink profile on a 100-point logarithmic scale."
                },
                "url": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "url",
                  "title": "url",
                  "description": "The ranking page URL."
                },
                "url_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "url",
                  "title": "url_prev",
                  "description": "The ranking page URL on the comparison date."
                },
                "value": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "value",
                  "description": "(10 units) The estimated value of a page's monthly organic search traffic, in USD cents."
                },
                "value_diff": {
                  "type": "integer",
                  "title": "value_diff",
                  "description": "The change in traffic value between your selected dates."
                },
                "value_diff_percent": {
                  "type": "integer",
                  "title": "value_diff_percent",
                  "description": "The change in traffic value between your selected dates, in percents."
                },
                "value_merged": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "value_merged",
                  "description": "(10 units) The traffic value field optimized for sorting."
                },
                "value_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "value_prev",
                  "description": "(10 units) The traffic value on the comparison date."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-explorer.paid-pages": {
        "properties": {
          "pages": {
            "items": {
              "properties": {
                "ads_count": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "ads_count",
                  "description": "The number of unique ads with a page."
                },
                "ads_count_diff": {
                  "type": "integer",
                  "title": "ads_count_diff",
                  "description": "The change in ads between your selected dates."
                },
                "ads_count_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "ads_count_prev",
                  "description": "The number of ads on the comparison date."
                },
                "keywords": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "keywords",
                  "description": "The total number of keywords that your target ranks for in paid search results."
                },
                "keywords_diff": {
                  "type": "integer",
                  "title": "keywords_diff",
                  "description": "The change in keywords between your selected dates."
                },
                "keywords_diff_percent": {
                  "type": "integer",
                  "title": "keywords_diff_percent",
                  "description": "The change in keywords between your selected dates, in percents."
                },
                "keywords_merged": {
                  "type": "integer",
                  "title": "keywords_merged",
                  "description": "The total number of keywords optimized for sorting."
                },
                "keywords_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "keywords_prev",
                  "description": "The keyword your target ranks for on the comparison date."
                },
                "raw_url": {
                  "type": "string",
                  "title": "raw_url",
                  "description": "The ranking page URL in encoded format."
                },
                "raw_url_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "raw_url_prev",
                  "description": "The ranking page URL on the comparison date in encoded format."
                },
                "referring_domains": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "referring_domains",
                  "description": "(5 units) The number of unique domains linking to a page."
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "left",
                    "right",
                    "both"
                  ],
                  "title": "status",
                  "description": "The status of a page: the new page that just started to rank in paid results (\"left\"), the lost page that disappeared from paid results (\"right\"), or no change (\"both\")."
                },
                "sum_traffic": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "sum_traffic",
                  "description": "(10 units) An estimation of the monthly paid search traffic that a page gets from all the keywords that it ranks for."
                },
                "sum_traffic_merged": {
                  "type": "integer",
                  "title": "sum_traffic_merged",
                  "description": "(10 units) The paid traffic field optimized for sorting."
                },
                "sum_traffic_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "sum_traffic_prev",
                  "description": "(10 units) The paid traffic on the comparison date."
                },
                "top_keyword": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "top_keyword",
                  "description": "The keyword that brings the most paid traffic to a page."
                },
                "top_keyword_best_position": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "top_keyword_best_position",
                  "description": "The ranking position that a page holds for its top keyword."
                },
                "top_keyword_best_position_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "top_keyword_best_position_diff",
                  "description": "The change in the top position between your selected dates."
                },
                "top_keyword_best_position_kind": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "enum": [
                    "paid_top",
                    "paid_bottom",
                    "paid_right",
                    "paid_sitelink",
                    "organic",
                    "sitelink",
                    "snippet",
                    "image",
                    "article",
                    "knowledge_card",
                    "knowledge_panel",
                    "local_pack",
                    "local_teaser",
                    "news",
                    "question",
                    "review",
                    "shopping",
                    "tweet",
                    "spelling",
                    "video",
                    "discussion",
                    "ai_overview",
                    "ai_overview_sitelink",
                    "organic_shopping"
                  ],
                  "title": "top_keyword_best_position_kind",
                  "description": "The kind of the top position: organic, paid or a SERP feature."
                },
                "top_keyword_best_position_kind_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "enum": [
                    "paid_top",
                    "paid_bottom",
                    "paid_right",
                    "paid_sitelink",
                    "organic",
                    "sitelink",
                    "snippet",
                    "image",
                    "article",
                    "knowledge_card",
                    "knowledge_panel",
                    "local_pack",
                    "local_teaser",
                    "news",
                    "question",
                    "review",
                    "shopping",
                    "tweet",
                    "spelling",
                    "video",
                    "discussion",
                    "ai_overview",
                    "ai_overview_sitelink",
                    "organic_shopping"
                  ],
                  "title": "top_keyword_best_position_kind_prev",
                  "description": "The kind of the top position on the comparison date."
                },
                "top_keyword_best_position_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "top_keyword_best_position_prev",
                  "description": "The top position on the comparison date."
                },
                "top_keyword_best_position_title": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "top_keyword_best_position_title",
                  "description": "The title displayed for the page in its top keyword's SERP."
                },
                "top_keyword_best_position_title_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "top_keyword_best_position_title_prev",
                  "description": "The title displayed for the page in its top keyword's SERP on the comparison date."
                },
                "top_keyword_country": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "enum": [
                    "AD",
                    "AE",
                    "AF",
                    "AG",
                    "AI",
                    "AL",
                    "AM",
                    "AO",
                    "AQ",
                    "AR",
                    "AS",
                    "AT",
                    "AU",
                    "AW",
                    "AX",
                    "AZ",
                    "BA",
                    "BB",
                    "BD",
                    "BE",
                    "BF",
                    "BG",
                    "BH",
                    "BI",
                    "BJ",
                    "BL",
                    "BM",
                    "BN",
                    "BO",
                    "BQ",
                    "BR",
                    "BS",
                    "BT",
                    "BV",
                    "BW",
                    "BY",
                    "BZ",
                    "CA",
                    "CC",
                    "CD",
                    "CF",
                    "CG",
                    "CH",
                    "CI",
                    "CK",
                    "CL",
                    "CM",
                    "CN",
                    "CO",
                    "CR",
                    "CU",
                    "CV",
                    "CW",
                    "CX",
                    "CY",
                    "CZ",
                    "DE",
                    "DJ",
                    "DK",
                    "DM",
                    "DO",
                    "DZ",
                    "EC",
                    "EE",
                    "EG",
                    "EH",
                    "ER",
                    "ES",
                    "ET",
                    "FI",
                    "FJ",
                    "FK",
                    "FM",
                    "FO",
                    "FR",
                    "GA",
                    "GB",
                    "GD",
                    "GE",
                    "GF",
                    "GG",
                    "GH",
                    "GI",
                    "GL",
                    "GM",
                    "GN",
                    "GP",
                    "GQ",
                    "GR",
                    "GS",
                    "GT",
                    "GU",
                    "GW",
                    "GY",
                    "HK",
                    "HM",
                    "HN",
                    "HR",
                    "HT",
                    "HU",
                    "ID",
                    "IE",
                    "IL",
                    "IM",
                    "IN",
                    "IO",
                    "IQ",
                    "IR",
                    "IS",
                    "IT",
                    "JE",
                    "JM",
                    "JO",
                    "JP",
                    "KE",
                    "KG",
                    "KH",
                    "KI",
                    "KM",
                    "KN",
                    "KP",
                    "KR",
                    "KW",
                    "KY",
                    "KZ",
                    "LA",
                    "LB",
                    "LC",
                    "LI",
                    "LK",
                    "LR",
                    "LS",
                    "LT",
                    "LU",
                    "LV",
                    "LY",
                    "MA",
                    "MC",
                    "MD",
                    "ME",
                    "MF",
                    "MG",
                    "MH",
                    "MK",
                    "ML",
                    "MM",
                    "MN",
                    "MO",
                    "MP",
                    "MQ",
                    "MR",
                    "MS",
                    "MT",
                    "MU",
                    "MV",
                    "MW",
                    "MX",
                    "MY",
                    "MZ",
                    "NA",
                    "NC",
                    "NE",
                    "NF",
                    "NG",
                    "NI",
                    "NL",
                    "NO",
                    "NP",
                    "NR",
                    "NU",
                    "NZ",
                    "OM",
                    "OTHER",
                    "PA",
                    "PE",
                    "PF",
                    "PG",
                    "PH",
                    "PK",
                    "PL",
                    "PM",
                    "PN",
                    "PR",
                    "PS",
                    "PT",
                    "PW",
                    "PY",
                    "QA",
                    "RE",
                    "RO",
                    "RS",
                    "RU",
                    "RW",
                    "SA",
                    "SB",
                    "SC",
                    "SD",
                    "SE",
                    "SG",
                    "SH",
                    "SI",
                    "SJ",
                    "SK",
                    "SL",
                    "SM",
                    "SN",
                    "SO",
                    "SR",
                    "SS",
                    "ST",
                    "SV",
                    "SX",
                    "SY",
                    "SZ",
                    "TC",
                    "TD",
                    "TF",
                    "TG",
                    "TH",
                    "TJ",
                    "TK",
                    "TL",
                    "TM",
                    "TN",
                    "TO",
                    "TR",
                    "TT",
                    "TV",
                    "TW",
                    "TZ",
                    "UA",
                    "UG",
                    "UM",
                    "US",
                    "UY",
                    "UZ",
                    "VA",
                    "VC",
                    "VE",
                    "VG",
                    "VI",
                    "VN",
                    "VU",
                    "WF",
                    "WS",
                    "YE",
                    "YT",
                    "ZA",
                    "ZM",
                    "ZW"
                  ],
                  "title": "top_keyword_country",
                  "description": "The country in which a page ranks for its top keyword."
                },
                "top_keyword_country_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "enum": [
                    "AD",
                    "AE",
                    "AF",
                    "AG",
                    "AI",
                    "AL",
                    "AM",
                    "AO",
                    "AQ",
                    "AR",
                    "AS",
                    "AT",
                    "AU",
                    "AW",
                    "AX",
                    "AZ",
                    "BA",
                    "BB",
                    "BD",
                    "BE",
                    "BF",
                    "BG",
                    "BH",
                    "BI",
                    "BJ",
                    "BL",
                    "BM",
                    "BN",
                    "BO",
                    "BQ",
                    "BR",
                    "BS",
                    "BT",
                    "BV",
                    "BW",
                    "BY",
                    "BZ",
                    "CA",
                    "CC",
                    "CD",
                    "CF",
                    "CG",
                    "CH",
                    "CI",
                    "CK",
                    "CL",
                    "CM",
                    "CN",
                    "CO",
                    "CR",
                    "CU",
                    "CV",
                    "CW",
                    "CX",
                    "CY",
                    "CZ",
                    "DE",
                    "DJ",
                    "DK",
                    "DM",
                    "DO",
                    "DZ",
                    "EC",
                    "EE",
                    "EG",
                    "EH",
                    "ER",
                    "ES",
                    "ET",
                    "FI",
                    "FJ",
                    "FK",
                    "FM",
                    "FO",
                    "FR",
                    "GA",
                    "GB",
                    "GD",
                    "GE",
                    "GF",
                    "GG",
                    "GH",
                    "GI",
                    "GL",
                    "GM",
                    "GN",
                    "GP",
                    "GQ",
                    "GR",
                    "GS",
                    "GT",
                    "GU",
                    "GW",
                    "GY",
                    "HK",
                    "HM",
                    "HN",
                    "HR",
                    "HT",
                    "HU",
                    "ID",
                    "IE",
                    "IL",
                    "IM",
                    "IN",
                    "IO",
                    "IQ",
                    "IR",
                    "IS",
                    "IT",
                    "JE",
                    "JM",
                    "JO",
                    "JP",
                    "KE",
                    "KG",
                    "KH",
                    "KI",
                    "KM",
                    "KN",
                    "KP",
                    "KR",
                    "KW",
                    "KY",
                    "KZ",
                    "LA",
                    "LB",
                    "LC",
                    "LI",
                    "LK",
                    "LR",
                    "LS",
                    "LT",
                    "LU",
                    "LV",
                    "LY",
                    "MA",
                    "MC",
                    "MD",
                    "ME",
                    "MF",
                    "MG",
                    "MH",
                    "MK",
                    "ML",
                    "MM",
                    "MN",
                    "MO",
                    "MP",
                    "MQ",
                    "MR",
                    "MS",
                    "MT",
                    "MU",
                    "MV",
                    "MW",
                    "MX",
                    "MY",
                    "MZ",
                    "NA",
                    "NC",
                    "NE",
                    "NF",
                    "NG",
                    "NI",
                    "NL",
                    "NO",
                    "NP",
                    "NR",
                    "NU",
                    "NZ",
                    "OM",
                    "OTHER",
                    "PA",
                    "PE",
                    "PF",
                    "PG",
                    "PH",
                    "PK",
                    "PL",
                    "PM",
                    "PN",
                    "PR",
                    "PS",
                    "PT",
                    "PW",
                    "PY",
                    "QA",
                    "RE",
                    "RO",
                    "RS",
                    "RU",
                    "RW",
                    "SA",
                    "SB",
                    "SC",
                    "SD",
                    "SE",
                    "SG",
                    "SH",
                    "SI",
                    "SJ",
                    "SK",
                    "SL",
                    "SM",
                    "SN",
                    "SO",
                    "SR",
                    "SS",
                    "ST",
                    "SV",
                    "SX",
                    "SY",
                    "SZ",
                    "TC",
                    "TD",
                    "TF",
                    "TG",
                    "TH",
                    "TJ",
                    "TK",
                    "TL",
                    "TM",
                    "TN",
                    "TO",
                    "TR",
                    "TT",
                    "TV",
                    "TW",
                    "TZ",
                    "UA",
                    "UG",
                    "UM",
                    "US",
                    "UY",
                    "UZ",
                    "VA",
                    "VC",
                    "VE",
                    "VG",
                    "VI",
                    "VN",
                    "VU",
                    "WF",
                    "WS",
                    "YE",
                    "YT",
                    "ZA",
                    "ZM",
                    "ZW"
                  ],
                  "title": "top_keyword_country_prev",
                  "description": "The country in which a page ranks for its top keyword on the comparison date."
                },
                "top_keyword_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "top_keyword_prev",
                  "description": "The keyword that brings the most paid traffic to a page on the comparison date."
                },
                "top_keyword_volume": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "top_keyword_volume",
                  "description": "(10 units) An estimation of the average monthly number of searches for the top keyword over the latest month or over the latest known 12 months of data depending on the \"volume_mode\" parameter."
                },
                "top_keyword_volume_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "top_keyword_volume_prev",
                  "description": "(10 units) The search volume on the comparison date."
                },
                "traffic_diff": {
                  "type": "integer",
                  "title": "traffic_diff",
                  "description": "The change in traffic between your selected dates."
                },
                "traffic_diff_percent": {
                  "type": "integer",
                  "title": "traffic_diff_percent",
                  "description": "The change in traffic between your selected dates, in percents."
                },
                "ur": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "ur",
                  "description": "URL Rating (UR) shows the strength of your target page’s backlink profile on a 100-point logarithmic scale."
                },
                "url": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "url",
                  "title": "url",
                  "description": "The ranking page URL."
                },
                "url_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "url",
                  "title": "url_prev",
                  "description": "The ranking page URL on the comparison date."
                },
                "value": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "value",
                  "description": "(10 units) The estimated cost of a page's monthly paid search traffic, in USD cents."
                },
                "value_diff": {
                  "type": "integer",
                  "title": "value_diff",
                  "description": "The change in traffic value between your selected dates."
                },
                "value_diff_percent": {
                  "type": "integer",
                  "title": "value_diff_percent",
                  "description": "The change in traffic value between your selected dates, in percents."
                },
                "value_merged": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "value_merged",
                  "description": "(10 units) The traffic value field optimized for sorting."
                },
                "value_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "value_prev",
                  "description": "(10 units) The traffic value on the comparison date."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-explorer.pages-by-backlinks": {
        "properties": {
          "pages": {
            "items": {
              "properties": {
                "dofollow_to_target": {
                  "type": "integer",
                  "title": "dofollow_to_target",
                  "description": "The number of links to your target page that don’t have the “nofollow” attribute."
                },
                "first_seen_link": {
                  "type": "string",
                  "format": "date-time",
                  "title": "first_seen_link",
                  "description": "The date we first found a link to your target."
                },
                "http_code_target": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "http_code_target",
                  "description": "The return code from HTTP protocol returned during the target page crawl."
                },
                "is_spam": {
                  "type": "boolean",
                  "title": "is_spam",
                  "description": "Indicates whether the backlink comes from a known spammy domain."
                },
                "languages_target": {
                  "items": {
                    "type": "string",
                    "title": "languages_target",
                    "description": "The languages listed in the target page metadata or detected by the crawler to appear in the HTML."
                  },
                  "type": "array",
                  "title": "languages_target",
                  "description": "The languages listed in the target page metadata or detected by the crawler to appear in the HTML."
                },
                "last_seen": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time",
                  "title": "last_seen",
                  "description": "The date your target page lost its last live link."
                },
                "last_visited_source": {
                  "type": "string",
                  "format": "date-time",
                  "title": "last_visited_source",
                  "description": "The date we last verified a live link to your target page."
                },
                "last_visited_target": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time",
                  "title": "last_visited_target",
                  "description": "The date we last crawled your target page."
                },
                "links_to_target": {
                  "type": "integer",
                  "title": "links_to_target",
                  "description": "The number of inbound backlinks the target page has."
                },
                "lost_links_to_target": {
                  "type": "integer",
                  "title": "lost_links_to_target",
                  "description": "The number of backlinks lost during the selected time period."
                },
                "new_links_to_target": {
                  "type": "integer",
                  "title": "new_links_to_target",
                  "description": "The number of new backlinks found during the selected time period."
                },
                "nofollow_to_target": {
                  "type": "integer",
                  "title": "nofollow_to_target",
                  "description": "The number of links to your target page that have the “nofollow” attribute."
                },
                "powered_by_target": {
                  "items": {
                    "type": "string",
                    "title": "powered_by_target",
                    "description": "Web technologies used to build and serve the target page content."
                  },
                  "type": "array",
                  "title": "powered_by_target",
                  "description": "Web technologies used to build and serve the target page content."
                },
                "redirects_to_target": {
                  "type": "integer",
                  "title": "redirects_to_target",
                  "description": "The number of inbound redirects to your target page."
                },
                "refdomains_target": {
                  "type": "integer",
                  "title": "refdomains_target",
                  "description": "(5 units) The number of unique referring domains linking to the target page."
                },
                "target_redirect": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "target_redirect",
                  "description": "The target's redirect if any."
                },
                "title_target": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "title_target",
                  "description": "The html title of the target page."
                },
                "top_domain_rating_source": {
                  "type": "number",
                  "format": "float",
                  "title": "top_domain_rating_source",
                  "description": "The highest Domain Rating (DR) counted out of all referring domains. DR shows the strength of a website’s backlink profile compared to the others in our database on a 100-point scale."
                },
                "url_rating_target": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "url_rating_target",
                  "description": "The strength of the target page's backlink profile compared to the others in our database on a 100-point scale."
                },
                "url_to": {
                  "type": "string",
                  "format": "url",
                  "title": "url_to",
                  "description": "The URL the backlink points to."
                },
                "url_to_plain": {
                  "type": "string",
                  "title": "url_to_plain",
                  "description": "The target page URL optimized for use as a filter."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-explorer.pages-by-internal-links": {
        "properties": {
          "pages": {
            "items": {
              "properties": {
                "canonical_to_target": {
                  "type": "integer",
                  "title": "canonical_to_target",
                  "description": "The number of inbound canonical links to your target page."
                },
                "dofollow_to_target": {
                  "type": "integer",
                  "title": "dofollow_to_target",
                  "description": "The number of links to your target page that don’t have the “nofollow” attribute."
                },
                "first_seen_link": {
                  "type": "string",
                  "format": "date-time",
                  "title": "first_seen_link",
                  "description": "The date we first found a link to your target."
                },
                "http_code_target": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "http_code_target",
                  "description": "The return code from HTTP protocol returned during the target page crawl."
                },
                "languages_target": {
                  "items": {
                    "type": "string",
                    "title": "languages_target",
                    "description": "The languages listed in the target page metadata or detected by the crawler to appear in the HTML."
                  },
                  "type": "array",
                  "title": "languages_target",
                  "description": "The languages listed in the target page metadata or detected by the crawler to appear in the HTML."
                },
                "last_seen": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time",
                  "title": "last_seen",
                  "description": "The date your target page lost its last live link."
                },
                "last_visited_source": {
                  "type": "string",
                  "format": "date-time",
                  "title": "last_visited_source",
                  "description": "The date we last verified a live link to your target page."
                },
                "last_visited_target": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time",
                  "title": "last_visited_target",
                  "description": "The date we last crawled your target page."
                },
                "links_to_target": {
                  "type": "integer",
                  "title": "links_to_target",
                  "description": "The number of inbound backlinks the target page has."
                },
                "nofollow_to_target": {
                  "type": "integer",
                  "title": "nofollow_to_target",
                  "description": "The number of links to your target page that have the “nofollow” attribute."
                },
                "powered_by_target": {
                  "items": {
                    "type": "string",
                    "title": "powered_by_target",
                    "description": "Web technologies used to build and serve the target page content."
                  },
                  "type": "array",
                  "title": "powered_by_target",
                  "description": "Web technologies used to build and serve the target page content."
                },
                "redirects_to_target": {
                  "type": "integer",
                  "title": "redirects_to_target",
                  "description": "The number of inbound redirects to your target page."
                },
                "target_redirect": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "target_redirect",
                  "description": "The target's redirect if any."
                },
                "title_target": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "title_target",
                  "description": "The html title of the target page."
                },
                "url_rating_target": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "url_rating_target",
                  "description": "The strength of the target page's backlink profile compared to the others in our database on a 100-point scale."
                },
                "url_to": {
                  "type": "string",
                  "format": "url",
                  "title": "url_to",
                  "description": "The URL the backlink points to."
                },
                "url_to_plain": {
                  "type": "string",
                  "title": "url_to_plain",
                  "description": "The target page URL optimized for use as a filter."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-explorer.total-search-volume-history": {
        "properties": {
          "metrics": {
            "items": {
              "properties": {
                "date": {
                  "type": "string",
                  "format": "date",
                  "title": "date"
                },
                "total_search_volume": {
                  "type": "integer",
                  "title": "total_search_volume",
                  "description": "(10 units) The total search volume of keywords for which your target ranks within the specified `top_positions` in the search results."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-explorer.crawled-pages": {
        "properties": {
          "pages": {
            "items": {
              "properties": {
                "first_seen": {
                  "type": "string",
                  "format": "date-time",
                  "title": "first_seen",
                  "description": "The timestamp when the URL was first seen by Ahrefs."
                },
                "http_code": {
                  "type": "integer",
                  "title": "http_code",
                  "description": "The HTTP status code returned when the page was last crawled."
                },
                "last_attempt": {
                  "type": "string",
                  "format": "date-time",
                  "title": "last_attempt",
                  "description": "The timestamp of the last crawl attempt."
                },
                "last_crawled": {
                  "type": "string",
                  "format": "date-time",
                  "title": "last_crawled",
                  "description": "The timestamp of the last successful crawl."
                },
                "title": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "title",
                  "description": "The page's meta title."
                },
                "url": {
                  "type": "string",
                  "format": "url",
                  "title": "url",
                  "description": "The URL of the crawled page."
                },
                "url_rating": {
                  "type": "number",
                  "format": "float",
                  "title": "url_rating",
                  "description": "URL Rating of the page at the time of the last crawl, on a 100-point scale."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "keywords-explorer.Error response": {
        "properties": {
          "error": {
            "type": "string"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "keywords-explorer.overview": {
        "properties": {
          "keywords": {
            "items": {
              "properties": {
                "clicks": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "clicks",
                  "description": "The average monthly number of clicks on the search results that people make while searching for the target keyword."
                },
                "cpc": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "cpc",
                  "description": "Cost Per Click shows the average price that advertisers pay for each ad click in paid search results for a keyword, in USD cents."
                },
                "cps": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "cps",
                  "description": "Clicks Per Search (or CPS) is the ratio of Clicks to Keyword Search volume. It shows how many different search results get clicked, on average, when people search for the target keyword in a given country."
                },
                "difficulty": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "difficulty",
                  "description": "(10 units) An estimation of how hard it is to rank in the top 10 organic search results for a keyword on a 100-point scale."
                },
                "first_seen": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time",
                  "title": "first_seen",
                  "description": "The date when we first checked search engine results for a keyword."
                },
                "global_volume": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "global_volume",
                  "description": "(10 units) How many times per month, on average, people search for the target keyword across all countries in our database."
                },
                "intents": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "title": "intents",
                  "description": "(10 units) Indicates the purpose behind the user's search query. Object fields: `informational`, `navigational`, `commercial`, `transactional`, `branded` or `local`. All the fields are of type `bool`, with possible values `true` or `false`."
                },
                "keyword": {
                  "type": "string",
                  "title": "keyword",
                  "description": ""
                },
                "parent_topic": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "parent_topic",
                  "description": "Parent Topic determines if you can rank for your target keyword while targeting a more general topic on your page instead. To identify the Parent Topic, we take the #1 ranking page for your keyword and find the keyword responsible for sending the most traffic to that page."
                },
                "parent_volume": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "parent_volume",
                  "description": "(10 units) The search volume of the parent topic."
                },
                "searches_pct_clicks_organic_and_paid": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "searches_pct_clicks_organic_and_paid",
                  "description": "The average monthly percentage of people who clicked on both organic and paid results while searching for the target keyword."
                },
                "searches_pct_clicks_organic_only": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "searches_pct_clicks_organic_only",
                  "description": "The average monthly percentage of people who clicked only on organic results while searching for the target keyword."
                },
                "searches_pct_clicks_paid_only": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "searches_pct_clicks_paid_only",
                  "description": "The average monthly percentage of people who clicked only on paid results while searching for the target keyword."
                },
                "serp_features": {
                  "items": {
                    "type": "string",
                    "enum": [
                      "ai_overview_sitelink",
                      "snippet",
                      "ai_overview",
                      "local_pack",
                      "sitelink",
                      "news",
                      "image",
                      "video",
                      "discussion",
                      "tweet",
                      "paid_top",
                      "paid_bottom",
                      "paid_sitelink",
                      "shopping",
                      "knowledge_card",
                      "knowledge_panel",
                      "question",
                      "image_th",
                      "video_th",
                      "organic_shopping"
                    ],
                    "title": "serp_features",
                    "description": "The enriched results on a search engine results page (SERP) that are not traditional organic results."
                  },
                  "type": "array",
                  "title": "serp_features",
                  "description": "The enriched results on a search engine results page (SERP) that are not traditional organic results."
                },
                "serp_last_update": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time",
                  "title": "serp_last_update",
                  "description": "The date when we last checked search engine results for a keyword."
                },
                "traffic_potential": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "traffic_potential",
                  "description": "(10 units) The sum of organic traffic that the #1 ranking page for your target keyword receives from all the keywords that it ranks for."
                },
                "volume": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "volume",
                  "description": "(10 units) An estimation of the average monthly number of searches for a keyword over the latest known 12 months of data."
                },
                "volume_desktop_pct": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "volume_desktop_pct",
                  "description": "The percentage of searches for a keyword performed on desktop devices."
                },
                "volume_mobile_pct": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "volume_mobile_pct",
                  "description": "The percentage of searches for a keyword performed on mobile devices."
                },
                "volume_monthly": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "volume_monthly",
                  "description": "(10 units) An estimation of the number of searches for a keyword over the latest month. This field may not be included in the `order_by` parameter"
                },
                "volume_monthly_history": {
                  "items": {
                    "type": "object",
                    "title": "volume_monthly_history",
                    "description": "(2 units per historical month, with a minimum of 50 units) Historical monthly search volume estimates of a keyword for the period set by the `volume_monthly_date_from` and `volume_monthly_date_to` parameters."
                  },
                  "type": "array",
                  "title": "volume_monthly_history",
                  "description": "(2 units per historical month, with a minimum of 50 units) Historical monthly search volume estimates of a keyword for the period set by the `volume_monthly_date_from` and `volume_monthly_date_to` parameters."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "keywords-explorer.volume-history": {
        "properties": {
          "metrics": {
            "items": {
              "properties": {
                "date": {
                  "type": "string",
                  "format": "date",
                  "title": "date"
                },
                "volume": {
                  "type": "integer",
                  "title": "volume",
                  "description": "An estimation of the number of searches for a keyword over a given month."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "keywords-explorer.volume-by-country": {
        "properties": {
          "countries": {
            "items": {
              "properties": {
                "country": {
                  "type": "string",
                  "title": "country"
                },
                "volume": {
                  "type": "integer",
                  "title": "volume",
                  "description": "(10 units) An estimation of the average monthly number of searches for a keyword in a given country."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "keywords-explorer.matching-terms": {
        "properties": {
          "keywords": {
            "items": {
              "properties": {
                "cpc": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "cpc",
                  "description": "Cost Per Click shows the average price that advertisers pay for each ad click in paid search results for a keyword, in USD cents."
                },
                "cps": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "cps",
                  "description": "Clicks Per Search (or CPS) is the ratio of Clicks to Keyword Search volume. It shows how many different search results get clicked, on average, when people search for the target keyword in a given country."
                },
                "difficulty": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "difficulty",
                  "description": "(10 units) An estimation of how hard it is to rank in the top 10 organic search results for a keyword on a 100-point scale."
                },
                "first_seen": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time",
                  "title": "first_seen",
                  "description": "The date when we first checked search engine results for a keyword."
                },
                "global_volume": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "global_volume",
                  "description": "(10 units) How many times per month, on average, people search for the target keyword across all countries in our database."
                },
                "intents": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "title": "intents",
                  "description": "(10 units) Indicates the purpose behind the user's search query. Object fields: `informational`, `navigational`, `commercial`, `transactional`, `branded` or `local`. All the fields are of type `bool`, with possible values `true` or `false`."
                },
                "keyword": {
                  "type": "string",
                  "title": "keyword",
                  "description": ""
                },
                "parent_topic": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "parent_topic",
                  "description": "Parent Topic determines if you can rank for your target keyword while targeting a more general topic on your page instead. To identify the Parent Topic, we take the #1 ranking page for your keyword and find the keyword responsible for sending the most traffic to that page."
                },
                "serp_features": {
                  "items": {
                    "type": "string",
                    "enum": [
                      "ai_overview_sitelink",
                      "snippet",
                      "ai_overview",
                      "local_pack",
                      "sitelink",
                      "news",
                      "image",
                      "video",
                      "discussion",
                      "tweet",
                      "paid_top",
                      "paid_bottom",
                      "paid_sitelink",
                      "shopping",
                      "knowledge_card",
                      "knowledge_panel",
                      "question",
                      "image_th",
                      "video_th",
                      "organic_shopping"
                    ],
                    "title": "serp_features",
                    "description": "The enriched results on a search engine results page (SERP) that are not traditional organic results."
                  },
                  "type": "array",
                  "title": "serp_features",
                  "description": "The enriched results on a search engine results page (SERP) that are not traditional organic results."
                },
                "serp_last_update": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time",
                  "title": "serp_last_update",
                  "description": "The date when we last checked search engine results for a keyword."
                },
                "traffic_potential": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "traffic_potential",
                  "description": "(10 units) The sum of organic traffic that the #1 ranking page for your target keyword receives from all the keywords that it ranks for."
                },
                "volume": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "volume",
                  "description": "(10 units) An estimation of the average monthly number of searches for a keyword over the latest known 12 months of data."
                },
                "volume_desktop_pct": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "volume_desktop_pct",
                  "description": "The percentage of searches for a keyword performed on desktop devices."
                },
                "volume_mobile_pct": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "volume_mobile_pct",
                  "description": "The percentage of searches for a keyword performed on mobile devices."
                },
                "volume_monthly": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "volume_monthly",
                  "description": "(10 units) An estimation of the number of searches for a keyword over the latest month. This field may not be included in the `order_by` parameter"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "keywords-explorer.related-terms": {
        "properties": {
          "keywords": {
            "items": {
              "properties": {
                "cpc": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "cpc",
                  "description": "Cost Per Click shows the average price that advertisers pay for each ad click in paid search results for a keyword, in USD cents."
                },
                "cps": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "cps",
                  "description": "Clicks Per Search (or CPS) is the ratio of Clicks to Keyword Search volume. It shows how many different search results get clicked, on average, when people search for the target keyword in a given country."
                },
                "difficulty": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "difficulty",
                  "description": "(10 units) An estimation of how hard it is to rank in the top 10 organic search results for a keyword on a 100-point scale."
                },
                "first_seen": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time",
                  "title": "first_seen",
                  "description": "The date when we first checked search engine results for a keyword."
                },
                "global_volume": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "global_volume",
                  "description": "(10 units) How many times per month, on average, people search for the target keyword across all countries in our database."
                },
                "intents": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "title": "intents",
                  "description": "(10 units) Indicates the purpose behind the user's search query. Object fields: `informational`, `navigational`, `commercial`, `transactional`, `branded` or `local`. All the fields are of type `bool`, with possible values `true` or `false`."
                },
                "keyword": {
                  "type": "string",
                  "title": "keyword",
                  "description": ""
                },
                "parent_topic": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "parent_topic",
                  "description": "Parent Topic determines if you can rank for your target keyword while targeting a more general topic on your page instead. To identify the Parent Topic, we take the #1 ranking page for your keyword and find the keyword responsible for sending the most traffic to that page."
                },
                "serp_features": {
                  "items": {
                    "type": "string",
                    "enum": [
                      "ai_overview_sitelink",
                      "snippet",
                      "ai_overview",
                      "local_pack",
                      "sitelink",
                      "news",
                      "image",
                      "video",
                      "discussion",
                      "tweet",
                      "paid_top",
                      "paid_bottom",
                      "paid_sitelink",
                      "shopping",
                      "knowledge_card",
                      "knowledge_panel",
                      "question",
                      "image_th",
                      "video_th",
                      "organic_shopping"
                    ],
                    "title": "serp_features",
                    "description": "The enriched results on a search engine results page (SERP) that are not traditional organic results."
                  },
                  "type": "array",
                  "title": "serp_features",
                  "description": "The enriched results on a search engine results page (SERP) that are not traditional organic results."
                },
                "serp_last_update": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time",
                  "title": "serp_last_update",
                  "description": "The date when we last checked search engine results for a keyword."
                },
                "traffic_potential": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "traffic_potential",
                  "description": "(10 units) The sum of organic traffic that the #1 ranking page for your target keyword receives from all the keywords that it ranks for."
                },
                "volume": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "volume",
                  "description": "(10 units) An estimation of the average monthly number of searches for a keyword over the latest known 12 months of data."
                },
                "volume_desktop_pct": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "volume_desktop_pct",
                  "description": "The percentage of searches for a keyword performed on desktop devices."
                },
                "volume_mobile_pct": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "volume_mobile_pct",
                  "description": "The percentage of searches for a keyword performed on mobile devices."
                },
                "volume_monthly": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "volume_monthly",
                  "description": "(10 units) An estimation of the number of searches for a keyword over the latest month. This field may not be included in the `order_by` parameter"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "keywords-explorer.search-suggestions": {
        "properties": {
          "keywords": {
            "items": {
              "properties": {
                "cpc": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "cpc",
                  "description": "Cost Per Click shows the average price that advertisers pay for each ad click in paid search results for a keyword, in USD cents."
                },
                "cps": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "cps",
                  "description": "Clicks Per Search (or CPS) is the ratio of Clicks to Keyword Search volume. It shows how many different search results get clicked, on average, when people search for the target keyword in a given country."
                },
                "difficulty": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "difficulty",
                  "description": "(10 units) An estimation of how hard it is to rank in the top 10 organic search results for a keyword on a 100-point scale."
                },
                "first_seen": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time",
                  "title": "first_seen",
                  "description": "The date when we first checked search engine results for a keyword."
                },
                "global_volume": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "global_volume",
                  "description": "(10 units) How many times per month, on average, people search for the target keyword across all countries in our database."
                },
                "intents": {
                  "type": [
                    "object",
                    "null"
                  ],
                  "title": "intents",
                  "description": "(10 units) Indicates the purpose behind the user's search query. Object fields: `informational`, `navigational`, `commercial`, `transactional`, `branded` or `local`. All the fields are of type `bool`, with possible values `true` or `false`."
                },
                "keyword": {
                  "type": "string",
                  "title": "keyword",
                  "description": ""
                },
                "parent_topic": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "parent_topic",
                  "description": "Parent Topic determines if you can rank for your target keyword while targeting a more general topic on your page instead. To identify the Parent Topic, we take the #1 ranking page for your keyword and find the keyword responsible for sending the most traffic to that page."
                },
                "serp_features": {
                  "items": {
                    "type": "string",
                    "enum": [
                      "ai_overview_sitelink",
                      "snippet",
                      "ai_overview",
                      "local_pack",
                      "sitelink",
                      "news",
                      "image",
                      "video",
                      "discussion",
                      "tweet",
                      "paid_top",
                      "paid_bottom",
                      "paid_sitelink",
                      "shopping",
                      "knowledge_card",
                      "knowledge_panel",
                      "question",
                      "image_th",
                      "video_th",
                      "organic_shopping"
                    ],
                    "title": "serp_features",
                    "description": "The enriched results on a search engine results page (SERP) that are not traditional organic results."
                  },
                  "type": "array",
                  "title": "serp_features",
                  "description": "The enriched results on a search engine results page (SERP) that are not traditional organic results."
                },
                "serp_last_update": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time",
                  "title": "serp_last_update",
                  "description": "The date when we last checked search engine results for a keyword."
                },
                "traffic_potential": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "traffic_potential",
                  "description": "(10 units) The sum of organic traffic that the #1 ranking page for your target keyword receives from all the keywords that it ranks for."
                },
                "volume": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "volume",
                  "description": "(10 units) An estimation of the average monthly number of searches for a keyword over the latest known 12 months of data."
                },
                "volume_desktop_pct": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "volume_desktop_pct",
                  "description": "The percentage of searches for a keyword performed on desktop devices."
                },
                "volume_mobile_pct": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "volume_mobile_pct",
                  "description": "The percentage of searches for a keyword performed on mobile devices."
                },
                "volume_monthly": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "volume_monthly",
                  "description": "(10 units) An estimation of the number of searches for a keyword over the latest month. This field may not be included in the `order_by` parameter"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-audit.Error response": {
        "properties": {
          "error": {
            "type": "string"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-audit.projects": {
        "properties": {
          "healthscores": {
            "items": {
              "properties": {
                "date": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time",
                  "title": "date",
                  "description": "The finish date and time of the last finished crawl, in GMT time zone."
                },
                "health_score": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "health_score",
                  "description": "Reflects the proportion of internal URLs on your site that do not have errors, based on the last finished crawl. Excludes crawls that are starting, in progress, finalizing, or were skipped."
                },
                "project_id": {
                  "type": "string",
                  "title": "project_id",
                  "description": "The unique identifier of the project."
                },
                "project_name": {
                  "type": "string",
                  "title": "project_name",
                  "description": "The project name."
                },
                "status": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "status",
                  "description": "The status of the most recent finished crawl. Possible values: `Completed`, `Stopped`, `Error`, `In_progress`."
                },
                "target_mode": {
                  "type": "string",
                  "title": "target_mode",
                  "description": "The scope of the target. Possible values: `exact`, `prefix`, `domain`, `subdomains`."
                },
                "target_protocol": {
                  "type": "string",
                  "title": "target_protocol",
                  "description": "The protocol of the target. Possible values: `both`, `http`, `https`."
                },
                "target_url": {
                  "type": "string",
                  "format": "url",
                  "title": "target_url",
                  "description": "The URL of the project's target."
                },
                "total": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "total",
                  "description": "Number of total crawled internal URLs"
                },
                "urls_with_errors": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "urls_with_errors",
                  "description": "Number of internal URLs with errors"
                },
                "urls_with_notices": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "urls_with_notices",
                  "description": "Number of internal URLs with notices"
                },
                "urls_with_warnings": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "urls_with_warnings",
                  "description": "Number of internal URLs with warnings"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-audit.page-content": {
        "properties": {
          "page-content": {
            "properties": {
              "crawl_datetime": {
                "type": "string",
                "format": "date-time",
                "title": "crawl_datetime",
                "description": "The timestamp when the page was crawled."
              },
              "page_text": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "page_text",
                "description": "The text extracted from the page content."
              },
              "page_text_md": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "page_text_md",
                "description": "The page content converted to markdown text. The value is a JSON-encoded string: decode JSON escapes (e.g. with `jq -r`) before passing it to a markdown renderer."
              },
              "raw_html": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "raw_html",
                "description": "The raw HTML of the page."
              },
              "rendered_html": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "rendered_html",
                "description": "The rendered HTML of the page."
              }
            },
            "type": "object"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-audit.issues": {
        "properties": {
          "issues": {
            "items": {
              "properties": {
                "added": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "added",
                  "description": "Number of URLs that have the issue on the current date but did not have it on the previous date."
                },
                "category": {
                  "type": "string",
                  "title": "category",
                  "description": "The category of the issue. Possible values: `Internal pages`, `Indexability`, `Links`, `Redirects`, `Content`, `Social tags`, `Duplicates`, `Localization`, `Usability and performance`, `Images`, `JavaScript`, `CSS`, `Sitemaps`, `External pages`, `Other`."
                },
                "change": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "change",
                  "description": "Difference in the number of affected URLs between the specified dates."
                },
                "crawled": {
                  "type": "integer",
                  "title": "crawled",
                  "description": "Number of URLs currently affected by the issue."
                },
                "importance": {
                  "type": "string",
                  "title": "importance",
                  "description": "The importance of the issue. Possible values: `Error`, `Warning`, `Notice`."
                },
                "is_indexable": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "is_indexable",
                  "description": "True if the issue applies only to indexable pages."
                },
                "issue_id": {
                  "type": "string",
                  "title": "issue_id",
                  "description": "The unique identifier of the issue."
                },
                "missing": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "missing",
                  "description": "Number of URLs that had the issue on the previous date but cannot be found on the current date."
                },
                "name": {
                  "type": "string",
                  "title": "name",
                  "description": "The name of the issue."
                },
                "new": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "new",
                  "description": "Number of newly discovered URLs that have the issue on the current date."
                },
                "removed": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "removed",
                  "description": "Number of URLs that had the issue on the previous date but no longer have it on the current date."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "site-audit.page-explorer": {
        "properties": {
          "pages": {
            "items": {
              "properties": {
                "ai_content_level": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "ai_content_level",
                  "description": "The estimated percentage of AI-generated text on the page. Possible values: `None`, `Low`, `Moderate`, `High`, `Very High`"
                },
                "ai_content_level_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "ai_content_level_prev",
                  "description": "The estimated percentage of AI-generated text on the page. Possible values: `None`, `Low`, `Moderate`, `High`, `Very High`"
                },
                "ai_content_status": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "ai_content_status",
                  "description": "AI detection status for each page. Possible values:\n- `Success`: Content analyzed successfully\n- `Content_too_short`: Not enough text for reliable detection\n- `Not_eligible`: URL isn't an internal HTML page\n- `Failed`: Internal issue prevented detection\n- `Detection_off`: Disabled in Crawl settings"
                },
                "ai_content_status_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "ai_content_status_prev",
                  "description": "AI detection status for each page. Possible values:\n- `Success`: Content analyzed successfully\n- `Content_too_short`: Not enough text for reliable detection\n- `Not_eligible`: URL isn't an internal HTML page\n- `Failed`: Internal issue prevented detection\n- `Detection_off`: Disabled in Crawl settings"
                },
                "allowed_search_bots": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "allowed_search_bots",
                  "description": "AI search and assistant bots permitted to crawl this page (not disallowed in robots.txt). These can surface or cite the page in AI search results and live answers"
                },
                "allowed_search_bots_prev": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "allowed_search_bots_prev",
                  "description": "AI search and assistant bots permitted to crawl this page (not disallowed in robots.txt). These can surface or cite the page in AI search results and live answers"
                },
                "allowed_training_bots": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "allowed_training_bots",
                  "description": "AI model-training crawlers permitted to crawl this page (not disallowed in robots.txt). These may use the page's content to train AI models"
                },
                "allowed_training_bots_prev": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "allowed_training_bots_prev",
                  "description": "AI model-training crawlers permitted to crawl this page (not disallowed in robots.txt). These may use the page's content to train AI models"
                },
                "alternate": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "alternate",
                  "description": "The number of incoming external links from rel=\"alternate\" attributes on the pages (data from Ahrefs' Site Explorer database)"
                },
                "alternate_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "alternate_diff",
                  "description": "The number of incoming external links from rel=\"alternate\" attributes on the pages (data from Ahrefs' Site Explorer database)"
                },
                "alternate_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "alternate_prev",
                  "description": "The number of incoming external links from rel=\"alternate\" attributes on the pages (data from Ahrefs' Site Explorer database)"
                },
                "backlinks": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "backlinks",
                  "description": "The number of incoming external links (both dofollow and nofollow) pointing to the URL (data from Ahrefs' Site Explorer database). Not to be confused with the number of linking pages, as one page can contain multiple backlinks"
                },
                "backlinks_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "backlinks_diff",
                  "description": "The number of incoming external links (both dofollow and nofollow) pointing to the URL (data from Ahrefs' Site Explorer database). Not to be confused with the number of linking pages, as one page can contain multiple backlinks"
                },
                "backlinks_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "backlinks_prev",
                  "description": "The number of incoming external links (both dofollow and nofollow) pointing to the URL (data from Ahrefs' Site Explorer database). Not to be confused with the number of linking pages, as one page can contain multiple backlinks"
                },
                "blocked_search_bots": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "blocked_search_bots",
                  "description": "AI search and assistant bots this page disallows in robots.txt. These power citations and live answers in tools like ChatGPT, Google AI Overviews, Perplexity, and Claude - blocking them can keep the page out of AI search results"
                },
                "blocked_search_bots_prev": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "blocked_search_bots_prev",
                  "description": "AI search and assistant bots this page disallows in robots.txt. These power citations and live answers in tools like ChatGPT, Google AI Overviews, Perplexity, and Claude - blocking them can keep the page out of AI search results"
                },
                "blocked_training_bots": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "blocked_training_bots",
                  "description": "AI model-training crawlers this page disallows in robots.txt (e.g. GPTBot, Google-Extended, ClaudeBot). Blocking these keeps the page out of AI training data but doesn't affect its visibility in AI search - it's often an intentional choice"
                },
                "blocked_training_bots_prev": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "blocked_training_bots_prev",
                  "description": "AI model-training crawlers this page disallows in robots.txt (e.g. GPTBot, Google-Extended, ClaudeBot). Blocking these keeps the page out of AI training data but doesn't affect its visibility in AI search - it's often an intentional choice"
                },
                "canonical": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "url",
                  "title": "canonical",
                  "description": "The URL of the canonical version of the page"
                },
                "canonical_code": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "canonical_code",
                  "description": "The HTTP status code of the canonical URL"
                },
                "canonical_code_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "canonical_code_prev",
                  "description": "The HTTP status code of the canonical URL"
                },
                "canonical_counts": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "canonical_counts",
                  "description": "The number of incoming external links from canonical pages pointing to the URL. Not to be confused with the number of linking pages, as one page can contain multiple backlinks"
                },
                "canonical_counts_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "canonical_counts_diff",
                  "description": "The number of incoming external links from canonical pages pointing to the URL. Not to be confused with the number of linking pages, as one page can contain multiple backlinks"
                },
                "canonical_counts_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "canonical_counts_prev",
                  "description": "The number of incoming external links from canonical pages pointing to the URL. Not to be confused with the number of linking pages, as one page can contain multiple backlinks"
                },
                "canonical_group_hash": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "canonical_group_hash",
                  "description": "The ID of the group of pages that have the same canonical URL"
                },
                "canonical_group_hash_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "canonical_group_hash_prev",
                  "description": "The ID of the group of pages that have the same canonical URL"
                },
                "canonical_is_canonical": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "canonical_is_canonical",
                  "description": "Indicates whether the target page tags itself as the canonical version to be shown in search results. A page is considered as canonical when it doesn't refer to any other pages as canonical"
                },
                "canonical_is_canonical_prev": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "canonical_is_canonical_prev",
                  "description": "Indicates whether the target page tags itself as the canonical version to be shown in search results. A page is considered as canonical when it doesn't refer to any other pages as canonical"
                },
                "canonical_no_crawl_reason": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "canonical_no_crawl_reason",
                  "description": "The reason why the canonical version of the page was not crawled"
                },
                "canonical_no_crawl_reason_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "canonical_no_crawl_reason_prev",
                  "description": "The reason why the canonical version of the page was not crawled"
                },
                "canonical_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "url",
                  "title": "canonical_prev",
                  "description": "The URL of the canonical version of the page"
                },
                "canonical_scheme": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "canonical_scheme",
                  "description": "The protocol of the canonical URL"
                },
                "canonical_scheme_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "canonical_scheme_prev",
                  "description": "The protocol of the canonical URL"
                },
                "compliant": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "compliant",
                  "description": "Indicates that the page is indexable. An indexable page is an HTML page returning the 200 HTTP status code that has neither the \"rel=canonical\" tag pointing to a different URL nor the \"noindex\" directive"
                },
                "compliant_prev": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "compliant_prev",
                  "description": "Indicates that the page is indexable. An indexable page is an HTML page returning the 200 HTTP status code that has neither the \"rel=canonical\" tag pointing to a different URL nor the \"noindex\" directive"
                },
                "compression": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "compression",
                  "description": "The data compression scheme"
                },
                "compression_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "compression_prev",
                  "description": "The data compression scheme"
                },
                "content_encoding": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "content_encoding",
                  "description": "The Content-Encoding HTTP response header field"
                },
                "content_encoding_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "content_encoding_prev",
                  "description": "The Content-Encoding HTTP response header field"
                },
                "content_length": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "content_length",
                  "description": "The character length of content displayed on the page"
                },
                "content_length_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "content_length_diff",
                  "description": "The character length of content displayed on the page"
                },
                "content_length_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "content_length_prev",
                  "description": "The character length of content displayed on the page"
                },
                "content_nr_word": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "content_nr_word",
                  "description": "The word count of content displayed on the page"
                },
                "content_nr_word_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "content_nr_word_diff",
                  "description": "The word count of content displayed on the page"
                },
                "content_nr_word_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "content_nr_word_prev",
                  "description": "The word count of content displayed on the page"
                },
                "content_type": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "content_type",
                  "description": "The Content-Type HTTP header of the page or resource. You can find the full list of content types [here](https://www.iana.org/assignments/media-types/media-types.xhtml)"
                },
                "content_type_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "content_type_prev",
                  "description": "The Content-Type HTTP header of the page or resource. You can find the full list of content types [here](https://www.iana.org/assignments/media-types/media-types.xhtml)"
                },
                "css_no_crawl_reason": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "css_no_crawl_reason",
                  "description": "The reasons why CSS files linked from the page were not crawled"
                },
                "css_no_crawl_reason_prev": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "css_no_crawl_reason_prev",
                  "description": "The reasons why CSS files linked from the page were not crawled"
                },
                "curl_code": {
                  "type": "integer",
                  "title": "curl_code",
                  "description": "CURLcode return code. You can find the full list of CURL codes [here](https://curl.haxx.se/libcurl/c/libcurl-errors.html)"
                },
                "curl_code_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "curl_code_prev",
                  "description": "CURLcode return code. You can find the full list of CURL codes [here](https://curl.haxx.se/libcurl/c/libcurl-errors.html)"
                },
                "depth": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "depth",
                  "description": "The minimum number of clicks required for our crawler to reach the URL from the starting point of a crawl (seed page). Please note that redirects are also counted as a level"
                },
                "depth_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "depth_diff",
                  "description": "The minimum number of clicks required for our crawler to reach the URL from the starting point of a crawl (seed page). Please note that redirects are also counted as a level"
                },
                "depth_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "depth_prev",
                  "description": "The minimum number of clicks required for our crawler to reach the URL from the starting point of a crawl (seed page). Please note that redirects are also counted as a level"
                },
                "dofollow": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "dofollow",
                  "description": "The number of incoming external dofollow links pointing to the URL. Not to be confused with the number of linking pages, as one page can contain multiple backlinks"
                },
                "dofollow_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "dofollow_diff",
                  "description": "The number of incoming external dofollow links pointing to the URL. Not to be confused with the number of linking pages, as one page can contain multiple backlinks"
                },
                "dofollow_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "dofollow_prev",
                  "description": "The number of incoming external dofollow links pointing to the URL. Not to be confused with the number of linking pages, as one page can contain multiple backlinks"
                },
                "domain": {
                  "type": "string",
                  "format": "domain",
                  "title": "domain",
                  "description": "The domain name part of the URL"
                },
                "duplicate_content": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "duplicate_content",
                  "description": "The number of pages with matching or appreciably similar content"
                },
                "duplicate_content_canonical_hreflang": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "duplicate_content_canonical_hreflang",
                  "description": "The number of page groups with matching or appreciably similar content. A group includes pages united by a common canonical URL, hreflang or pagination tags"
                },
                "duplicate_content_canonical_hreflang_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "duplicate_content_canonical_hreflang_diff",
                  "description": "The number of page groups with matching or appreciably similar content. A group includes pages united by a common canonical URL, hreflang or pagination tags"
                },
                "duplicate_content_canonical_hreflang_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "duplicate_content_canonical_hreflang_prev",
                  "description": "The number of page groups with matching or appreciably similar content. A group includes pages united by a common canonical URL, hreflang or pagination tags"
                },
                "duplicate_content_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "duplicate_content_diff",
                  "description": "The number of pages with matching or appreciably similar content"
                },
                "duplicate_content_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "duplicate_content_prev",
                  "description": "The number of pages with matching or appreciably similar content"
                },
                "duplicate_description": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "duplicate_description",
                  "description": "The number of pages that have the same meta description. If the page has more than one meta description, each will be checked for duplicates"
                },
                "duplicate_description_canonical_hreflang": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "duplicate_description_canonical_hreflang",
                  "description": "The number of page groups that have the same meta description. A group includes pages united by a common canonical URL, hreflang or pagination tags"
                },
                "duplicate_description_canonical_hreflang_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "duplicate_description_canonical_hreflang_diff",
                  "description": "The number of page groups that have the same meta description. A group includes pages united by a common canonical URL, hreflang or pagination tags"
                },
                "duplicate_description_canonical_hreflang_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "duplicate_description_canonical_hreflang_prev",
                  "description": "The number of page groups that have the same meta description. A group includes pages united by a common canonical URL, hreflang or pagination tags"
                },
                "duplicate_description_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "duplicate_description_diff",
                  "description": "The number of pages that have the same meta description. If the page has more than one meta description, each will be checked for duplicates"
                },
                "duplicate_description_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "duplicate_description_prev",
                  "description": "The number of pages that have the same meta description. If the page has more than one meta description, each will be checked for duplicates"
                },
                "duplicate_group_identifier": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "duplicate_group_identifier",
                  "description": "The ID of the group of pages that are interconnected via a common canonical URL, hreflang or pagination tags"
                },
                "duplicate_group_identifier_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "duplicate_group_identifier_prev",
                  "description": "The ID of the group of pages that are interconnected via a common canonical URL, hreflang or pagination tags"
                },
                "duplicate_h1": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "duplicate_h1",
                  "description": "The number of pages that have the same H1 subheader. If the page has more than one H1 subheader, each will be checked for duplicates"
                },
                "duplicate_h1_canonical_hreflang": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "duplicate_h1_canonical_hreflang",
                  "description": "The number of page groups sharing the same H1 subheader. A group includes pages united by a common canonical URL, hreflang or pagination tags"
                },
                "duplicate_h1_canonical_hreflang_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "duplicate_h1_canonical_hreflang_diff",
                  "description": "The number of page groups sharing the same H1 subheader. A group includes pages united by a common canonical URL, hreflang or pagination tags"
                },
                "duplicate_h1_canonical_hreflang_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "duplicate_h1_canonical_hreflang_prev",
                  "description": "The number of page groups sharing the same H1 subheader. A group includes pages united by a common canonical URL, hreflang or pagination tags"
                },
                "duplicate_h1_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "duplicate_h1_diff",
                  "description": "The number of pages that have the same H1 subheader. If the page has more than one H1 subheader, each will be checked for duplicates"
                },
                "duplicate_h1_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "duplicate_h1_prev",
                  "description": "The number of pages that have the same H1 subheader. If the page has more than one H1 subheader, each will be checked for duplicates"
                },
                "duplicate_title": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "duplicate_title",
                  "description": "The number of pages that have the same title. If the page has more than one title, each will be checked for duplicates"
                },
                "duplicate_title_canonical_hreflang": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "duplicate_title_canonical_hreflang",
                  "description": "The number of page groups that have the same title. A group includes pages united by a common canonical URL, hreflang or pagination tags"
                },
                "duplicate_title_canonical_hreflang_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "duplicate_title_canonical_hreflang_diff",
                  "description": "The number of page groups that have the same title. A group includes pages united by a common canonical URL, hreflang or pagination tags"
                },
                "duplicate_title_canonical_hreflang_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "duplicate_title_canonical_hreflang_prev",
                  "description": "The number of page groups that have the same title. A group includes pages united by a common canonical URL, hreflang or pagination tags"
                },
                "duplicate_title_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "duplicate_title_diff",
                  "description": "The number of pages that have the same title. If the page has more than one title, each will be checked for duplicates"
                },
                "duplicate_title_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "duplicate_title_prev",
                  "description": "The number of pages that have the same title. If the page has more than one title, each will be checked for duplicates"
                },
                "edu": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "edu",
                  "description": "The number of incoming external links from .edu domains pointing to the URL (data from Ahrefs' Site Explorer database). Not to be confused with the number of linking pages, as one page can contain multiple backlinks"
                },
                "edu_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "edu_diff",
                  "description": "The number of incoming external links from .edu domains pointing to the URL (data from Ahrefs' Site Explorer database). Not to be confused with the number of linking pages, as one page can contain multiple backlinks"
                },
                "edu_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "edu_prev",
                  "description": "The number of incoming external links from .edu domains pointing to the URL (data from Ahrefs' Site Explorer database). Not to be confused with the number of linking pages, as one page can contain multiple backlinks"
                },
                "external_code": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "external_code",
                  "description": "The list of HTTP status codes returned by the external URLs linked from the page"
                },
                "external_code_prev": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "external_code_prev",
                  "description": "The list of HTTP status codes returned by the external URLs linked from the page"
                },
                "external_link_anchor": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "external_link_anchor",
                  "description": "The list of anchor texts used in external outgoing links on the page"
                },
                "external_link_anchor_prev": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "external_link_anchor_prev",
                  "description": "The list of anchor texts used in external outgoing links on the page"
                },
                "external_link_domain": {
                  "items": {
                    "type": "string",
                    "format": "domain"
                  },
                  "type": "array",
                  "title": "external_link_domain",
                  "description": "The list of external domains linked to from the page"
                },
                "external_link_domain_prev": {
                  "items": {
                    "type": "string",
                    "format": "domain"
                  },
                  "type": "array",
                  "title": "external_link_domain_prev",
                  "description": "The list of external domains linked to from the page"
                },
                "external_links": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "external_links",
                  "description": "The list of external outgoing links on the page"
                },
                "external_links_is_canonical": {
                  "items": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "external_links_is_canonical",
                  "description": "Indicates whether the target page tags itself as the canonical version to be shown in search results. A page is considered as canonical when it doesn't refer to any other pages as canonical"
                },
                "external_links_is_canonical_prev": {
                  "items": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "external_links_is_canonical_prev",
                  "description": "Indicates whether the target page tags itself as the canonical version to be shown in search results. A page is considered as canonical when it doesn't refer to any other pages as canonical"
                },
                "external_links_prev": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "external_links_prev",
                  "description": "The list of external outgoing links on the page"
                },
                "external_no_crawl_reason": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "external_no_crawl_reason",
                  "description": "The reasons why the external URLs linked from the page were not crawled"
                },
                "external_no_crawl_reason_prev": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "external_no_crawl_reason_prev",
                  "description": "The reasons why the external URLs linked from the page were not crawled"
                },
                "external_scheme": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "external_scheme",
                  "description": "The protocols of the external outgoing links on the page"
                },
                "external_scheme_prev": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "external_scheme_prev",
                  "description": "The protocols of the external outgoing links on the page"
                },
                "final_redirect": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "url",
                  "title": "final_redirect",
                  "description": "The destination of the final redirecting URL"
                },
                "final_redirect_code": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "final_redirect_code",
                  "description": "The HTTP status code of the destination of the final redirecting URL"
                },
                "final_redirect_code_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "final_redirect_code_prev",
                  "description": "The HTTP status code of the destination of the final redirecting URL"
                },
                "final_redirect_no_crawl_reason": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "final_redirect_no_crawl_reason",
                  "description": "The reason why the destination of the final redirecting URL was not crawled"
                },
                "final_redirect_no_crawl_reason_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "final_redirect_no_crawl_reason_prev",
                  "description": "The reason why the destination of the final redirecting URL was not crawled"
                },
                "final_redirect_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "url",
                  "title": "final_redirect_prev",
                  "description": "The destination of the final redirecting URL"
                },
                "found_in_sitemaps": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "found_in_sitemaps",
                  "description": "The list of sitemaps that reference the URL"
                },
                "found_in_sitemaps_length": {
                  "type": "integer",
                  "title": "found_in_sitemaps_length",
                  "description": "The number of sitemaps that reference the URL"
                },
                "found_in_sitemaps_length_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "found_in_sitemaps_length_diff",
                  "description": "The number of sitemaps that reference the URL"
                },
                "found_in_sitemaps_length_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "found_in_sitemaps_length_prev",
                  "description": "The number of sitemaps that reference the URL"
                },
                "found_in_sitemaps_prev": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "found_in_sitemaps_prev",
                  "description": "The list of sitemaps that reference the URL"
                },
                "gov": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "gov",
                  "description": "The total number of incoming external links from .gov domains pointing to the URL (data from Ahrefs' Site Explorer database). Not to be confused with the number of linking pages, as one page can contain multiple backlinks"
                },
                "gov_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "gov_diff",
                  "description": "The total number of incoming external links from .gov domains pointing to the URL (data from Ahrefs' Site Explorer database). Not to be confused with the number of linking pages, as one page can contain multiple backlinks"
                },
                "gov_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "gov_prev",
                  "description": "The total number of incoming external links from .gov domains pointing to the URL (data from Ahrefs' Site Explorer database). Not to be confused with the number of linking pages, as one page can contain multiple backlinks"
                },
                "h1": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "h1",
                  "description": "The page H1 subheader"
                },
                "h1_length": {
                  "items": {
                    "type": "integer"
                  },
                  "type": "array",
                  "title": "h1_length",
                  "description": "The character length of the page H1 subheader"
                },
                "h1_length_prev": {
                  "items": {
                    "type": "integer"
                  },
                  "type": "array",
                  "title": "h1_length_prev",
                  "description": "The character length of the page H1 subheader"
                },
                "h1_prev": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "h1_prev",
                  "description": "The page H1 subheader"
                },
                "h2": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "h2",
                  "description": "The page H2 subheader"
                },
                "h2_prev": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "h2_prev",
                  "description": "The page H2 subheader"
                },
                "hash_content": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "hash_content",
                  "description": "The page content fingerprint. Pages with matching or appreciably similar content have the same content hash"
                },
                "hash_content_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "hash_content_prev",
                  "description": "The page content fingerprint. Pages with matching or appreciably similar content have the same content hash"
                },
                "hash_descriptions": {
                  "items": {
                    "type": "integer"
                  },
                  "type": "array",
                  "title": "hash_descriptions",
                  "description": "meta_descriptions.hash"
                },
                "hash_descriptions_prev": {
                  "items": {
                    "type": "integer"
                  },
                  "type": "array",
                  "title": "hash_descriptions_prev",
                  "description": "meta_descriptions.hash"
                },
                "hash_h1": {
                  "items": {
                    "type": "integer"
                  },
                  "type": "array",
                  "title": "hash_h1",
                  "description": "The page H1 subheader fingerprint. Pages with matching H1 tags have the same H1 hash"
                },
                "hash_h1_prev": {
                  "items": {
                    "type": "integer"
                  },
                  "type": "array",
                  "title": "hash_h1_prev",
                  "description": "The page H1 subheader fingerprint. Pages with matching H1 tags have the same H1 hash"
                },
                "hash_text": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "hash_text",
                  "description": "The page text fingerprint. Pages with matching content have the same text hash"
                },
                "hash_text_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "hash_text_prev",
                  "description": "The page text fingerprint. Pages with matching content have the same text hash"
                },
                "hash_titles": {
                  "items": {
                    "type": "integer"
                  },
                  "type": "array",
                  "title": "hash_titles",
                  "description": "The page title fingerprint. Pages with matching title tags have the same title hash"
                },
                "hash_titles_prev": {
                  "items": {
                    "type": "integer"
                  },
                  "type": "array",
                  "title": "hash_titles_prev",
                  "description": "The page title fingerprint. Pages with matching title tags have the same title hash"
                },
                "hreflang": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "hreflang",
                  "description": "Data from hreflang attributes"
                },
                "hreflang_code_is_valid": {
                  "items": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "hreflang_code_is_valid",
                  "description": "Indicates that hreflang data is specified properly in the hreflang tags on the page. The language must be specified in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes), and optionally the region in [ISO 3166-1 Alpha 2 format](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)"
                },
                "hreflang_code_is_valid_prev": {
                  "items": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "hreflang_code_is_valid_prev",
                  "description": "Indicates that hreflang data is specified properly in the hreflang tags on the page. The language must be specified in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes), and optionally the region in [ISO 3166-1 Alpha 2 format](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)"
                },
                "hreflang_country": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "hreflang_country",
                  "description": "The list of regions specified in the hreflang tags on the page"
                },
                "hreflang_country_prev": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "hreflang_country_prev",
                  "description": "The list of regions specified in the hreflang tags on the page"
                },
                "hreflang_group_hash": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "hreflang_group_hash",
                  "description": "The ID of the group of pages that have the same set of hreflang attributes with the same set of URLs in them"
                },
                "hreflang_group_hash_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "hreflang_group_hash_prev",
                  "description": "The ID of the group of pages that have the same set of hreflang attributes with the same set of URLs in them"
                },
                "hreflang_issues": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "hreflang_issues",
                  "description": "The list of hreflang-related issues a page has"
                },
                "hreflang_issues_prev": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "hreflang_issues_prev",
                  "description": "The list of hreflang-related issues a page has"
                },
                "hreflang_language": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "hreflang_language",
                  "description": "The list of languages specified in the hreflang tags on the page"
                },
                "hreflang_language_prev": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "hreflang_language_prev",
                  "description": "The list of languages specified in the hreflang tags on the page"
                },
                "hreflang_link": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "hreflang_link",
                  "description": "The list of URLs specified in the hreflang tags on the page"
                },
                "hreflang_link_is_canonical": {
                  "items": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "hreflang_link_is_canonical",
                  "description": "Indicates whether the target page tags itself as the canonical version to be shown in search results. A page is considered as canonical when it doesn't refer to any other pages as canonical"
                },
                "hreflang_link_is_canonical_prev": {
                  "items": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "hreflang_link_is_canonical_prev",
                  "description": "Indicates whether the target page tags itself as the canonical version to be shown in search results. A page is considered as canonical when it doesn't refer to any other pages as canonical"
                },
                "hreflang_link_prev": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "hreflang_link_prev",
                  "description": "The list of URLs specified in the hreflang tags on the page"
                },
                "hreflang_no_crawl_reason": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "hreflang_no_crawl_reason",
                  "description": "The reasons why URLs specified in the hreflang tags on the page were not crawled"
                },
                "hreflang_no_crawl_reason_prev": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "hreflang_no_crawl_reason_prev",
                  "description": "The reasons why URLs specified in the hreflang tags on the page were not crawled"
                },
                "hreflang_prev": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "hreflang_prev",
                  "description": "Data from hreflang attributes"
                },
                "html_lang": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "html_lang",
                  "description": "Data from the page's HTML lang tag"
                },
                "html_lang_code_is_valid": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "html_lang_code_is_valid",
                  "description": "Indicates that the language (or language-region) code is specified properly in the HTML lang tag. The language must be specified in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes), and optionally the region in [ISO 3166-1 Alpha 2 format](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)"
                },
                "html_lang_code_is_valid_prev": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "html_lang_code_is_valid_prev",
                  "description": "Indicates that the language (or language-region) code is specified properly in the HTML lang tag. The language must be specified in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes), and optionally the region in [ISO 3166-1 Alpha 2 format](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)"
                },
                "html_lang_country": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "html_lang_country",
                  "description": "The region code specified in the page's HTML lang tag"
                },
                "html_lang_country_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "html_lang_country_prev",
                  "description": "The region code specified in the page's HTML lang tag"
                },
                "html_lang_language": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "html_lang_language",
                  "description": "The language code specified in the page's HTML lang tag"
                },
                "html_lang_language_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "html_lang_language_prev",
                  "description": "The language code specified in the page's HTML lang tag"
                },
                "html_lang_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "html_lang_prev",
                  "description": "Data from the page's HTML lang tag"
                },
                "http_code": {
                  "type": "integer",
                  "title": "http_code",
                  "description": "The HTTP status code returned by the URL"
                },
                "http_code_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "http_code_prev",
                  "description": "The HTTP status code returned by the URL"
                },
                "http_header": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "http_header",
                  "description": "The HTTP headers that the web server returns"
                },
                "http_header_prev": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "http_header_prev",
                  "description": "The HTTP headers that the web server returns"
                },
                "http_header_robots": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "http_header_robots",
                  "description": "Instructions for web crawlers specified in HTTP headers"
                },
                "http_header_robots_prev": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "http_header_robots_prev",
                  "description": "Instructions for web crawlers specified in HTTP headers"
                },
                "http_headers_size": {
                  "type": "integer",
                  "title": "http_headers_size",
                  "description": "The size of the HTTP headers that the web server returns, measured in bytes"
                },
                "http_headers_size_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "http_headers_size_prev",
                  "description": "The size of the HTTP headers that the web server returns, measured in bytes"
                },
                "images_no_crawl_reason": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "images_no_crawl_reason",
                  "description": "The reasons why images linked from the page were not crawled"
                },
                "images_no_crawl_reason_prev": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "images_no_crawl_reason_prev",
                  "description": "The reasons why images linked from the page were not crawled"
                },
                "incoming_all_links": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "incoming_all_links",
                  "description": "The number of incoming links to the URL of all types"
                },
                "incoming_all_links_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "incoming_all_links_diff",
                  "description": "The number of incoming links to the URL of all types"
                },
                "incoming_all_links_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "incoming_all_links_prev",
                  "description": "The number of incoming links to the URL of all types"
                },
                "incoming_canonical": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "incoming_canonical",
                  "description": "Shows how many times the URL is linked to from a rel=\"canonical\" element"
                },
                "incoming_canonical_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "incoming_canonical_prev",
                  "description": "Shows how many times the URL is linked to from a rel=\"canonical\" element"
                },
                "incoming_css": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "incoming_css",
                  "description": "The number of incoming links to the CSS file"
                },
                "incoming_css_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "incoming_css_prev",
                  "description": "The number of incoming links to the CSS file"
                },
                "incoming_follow": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "incoming_follow",
                  "description": "The number of incoming dofollow links to the URL from hyperlinks"
                },
                "incoming_follow_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "incoming_follow_prev",
                  "description": "The number of incoming dofollow links to the URL from hyperlinks"
                },
                "incoming_hreflang": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "incoming_hreflang",
                  "description": "Shows how many times the URL is linked to from a rel=\"alternate\" hreflang=\"x\" attribute"
                },
                "incoming_hreflang_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "incoming_hreflang_prev",
                  "description": "Shows how many times the URL is linked to from a rel=\"alternate\" hreflang=\"x\" attribute"
                },
                "incoming_image": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "incoming_image",
                  "description": "The number of incoming links to the image file"
                },
                "incoming_image_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "incoming_image_prev",
                  "description": "The number of incoming links to the image file"
                },
                "incoming_js": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "incoming_js",
                  "description": "The number of incoming links to the JS file"
                },
                "incoming_js_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "incoming_js_prev",
                  "description": "The number of incoming links to the JS file"
                },
                "incoming_links": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "incoming_links",
                  "description": "The number of incoming links to the URL from hyperlinks"
                },
                "incoming_links_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "incoming_links_prev",
                  "description": "The number of incoming links to the URL from hyperlinks"
                },
                "incoming_nofollow": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "incoming_nofollow",
                  "description": "The number of incoming nofollow links to the URL from hyperlinks"
                },
                "incoming_nofollow_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "incoming_nofollow_prev",
                  "description": "The number of incoming nofollow links to the URL from hyperlinks"
                },
                "incoming_pagination": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "incoming_pagination",
                  "description": "Shows how many times the URL is linked to from rel=\"prev\" or rel=\"next\" elements on pages"
                },
                "incoming_pagination_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "incoming_pagination_prev",
                  "description": "Shows how many times the URL is linked to from rel=\"prev\" or rel=\"next\" elements on pages"
                },
                "incoming_redirect": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "incoming_redirect",
                  "description": "The number of incoming redirecting links to the URL"
                },
                "incoming_redirect_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "incoming_redirect_prev",
                  "description": "The number of incoming redirecting links to the URL"
                },
                "indexnow_error": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "indexnow_error",
                  "description": "The error description for a failed auto-submission"
                },
                "indexnow_error_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "indexnow_error_prev",
                  "description": "The error description for a failed auto-submission"
                },
                "indexnow_reason": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "indexnow_reason",
                  "description": "The reason the page was considered for auto-submission to IndexNow"
                },
                "indexnow_reason_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "indexnow_reason_prev",
                  "description": "The reason the page was considered for auto-submission to IndexNow"
                },
                "indexnow_status": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "indexnow_status",
                  "description": "The status of IndexNow auto-submission. Possible values:\n\n- **Success:** The page was successfully submitted to IndexNow.\n- **No changes detected:** No changes were detected on the page; submission was not required.\n- **Not eligible:** The URL isn't eligible for submission, e.g., it's not an indexable HTML page.\n- **Invalid API key:** IndexNow submission failed due to an invalid API key.\n- **Failed:** Submission to IndexNow failed; see details for the reason.\n- **Auto-submission is off:** Automatic submission is disabled in Crawl settings"
                },
                "indexnow_status_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "indexnow_status_prev",
                  "description": "The status of IndexNow auto-submission. Possible values:\n\n- **Success:** The page was successfully submitted to IndexNow.\n- **No changes detected:** No changes were detected on the page; submission was not required.\n- **Not eligible:** The URL isn't eligible for submission, e.g., it's not an indexable HTML page.\n- **Invalid API key:** IndexNow submission failed due to an invalid API key.\n- **Failed:** Submission to IndexNow failed; see details for the reason.\n- **Auto-submission is off:** Automatic submission is disabled in Crawl settings"
                },
                "indexnow_submitted_at": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date",
                  "title": "indexnow_submitted_at",
                  "description": "The date and time when the URL was auto-submitted to IndexNow"
                },
                "internal": {
                  "type": "boolean",
                  "title": "internal",
                  "description": "Indicates that the URL is internal. An internal URL is a page or resource located on the crawled domain or its subdomains (depending on the scope of your project)"
                },
                "internal_code": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "internal_code",
                  "description": "The list of HTTP status codes returned by the internal URLs linked to from the page"
                },
                "internal_code_prev": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "internal_code_prev",
                  "description": "The list of HTTP status codes returned by the internal URLs linked to from the page"
                },
                "internal_link_anchor": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "internal_link_anchor",
                  "description": "The list of anchor texts used in internal outgoing links on the page"
                },
                "internal_link_anchor_prev": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "internal_link_anchor_prev",
                  "description": "The list of anchor texts used in internal outgoing links on the page"
                },
                "internal_link_domain": {
                  "items": {
                    "type": "string",
                    "format": "domain"
                  },
                  "type": "array",
                  "title": "internal_link_domain",
                  "description": "The domain (or its subdomains, depending on the scope of the crawl) linked to from internal outgoing links on the page"
                },
                "internal_link_domain_prev": {
                  "items": {
                    "type": "string",
                    "format": "domain"
                  },
                  "type": "array",
                  "title": "internal_link_domain_prev",
                  "description": "The domain (or its subdomains, depending on the scope of the crawl) linked to from internal outgoing links on the page"
                },
                "internal_links": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "internal_links",
                  "description": "The list of internal outgoing links on the page"
                },
                "internal_links_is_canonical": {
                  "items": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "internal_links_is_canonical",
                  "description": "Indicates whether the target page tags itself as the canonical version to be shown in search results. A page is considered as canonical when it doesn't refer to any other pages as canonical"
                },
                "internal_links_is_canonical_prev": {
                  "items": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "internal_links_is_canonical_prev",
                  "description": "Indicates whether the target page tags itself as the canonical version to be shown in search results. A page is considered as canonical when it doesn't refer to any other pages as canonical"
                },
                "internal_links_prev": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "internal_links_prev",
                  "description": "The list of internal outgoing links on the page"
                },
                "internal_no_crawl_reason": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "internal_no_crawl_reason",
                  "description": "The reasons why the internal URLs linked to from the page were not crawled"
                },
                "internal_no_crawl_reason_prev": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "internal_no_crawl_reason_prev",
                  "description": "The reasons why the internal URLs linked to from the page were not crawled"
                },
                "internal_scheme": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "internal_scheme",
                  "description": "The protocols of the internal outgoing links on the page"
                },
                "internal_scheme_prev": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "internal_scheme_prev",
                  "description": "The protocols of the internal outgoing links on the page"
                },
                "is_html": {
                  "type": "boolean",
                  "title": "is_html",
                  "description": "Indicates that the content type of the web document is HTML"
                },
                "is_html_prev": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "is_html_prev",
                  "description": "Indicates that the content type of the web document is HTML"
                },
                "is_in_sitemap": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "is_in_sitemap",
                  "description": "Indicates that the URL is included in the website's sitemap file"
                },
                "is_in_sitemap_prev": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "is_in_sitemap_prev",
                  "description": "Indicates that the URL is included in the website's sitemap file"
                },
                "is_page_title_used_in_serp": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "is_page_title_used_in_serp",
                  "description": "Indicates that the page and SERP titles match"
                },
                "is_redirect_loop": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "is_redirect_loop",
                  "description": "Checks if the URL has a redirect loop"
                },
                "is_redirect_loop_prev": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "is_redirect_loop_prev",
                  "description": "Checks if the URL has a redirect loop"
                },
                "is_rendered": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "is_rendered",
                  "description": "Indicates that the crawler had executed JavaScript on the page to generate content"
                },
                "is_rendered_prev": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "is_rendered_prev",
                  "description": "Indicates that the crawler had executed JavaScript on the page to generate content"
                },
                "is_valid_internal_html": {
                  "type": "boolean",
                  "title": "is_valid_internal_html",
                  "description": "The HTML page on the crawled domain or its subdomain that returns a 200 HTTP status code"
                },
                "is_valid_internal_html_prev": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "is_valid_internal_html_prev",
                  "description": "The HTML page on the crawled domain or its subdomain that returns a 200 HTTP status code"
                },
                "js_no_crawl_reason": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "js_no_crawl_reason",
                  "description": "The reasons why JavaScript files linked from the page were not crawled"
                },
                "js_no_crawl_reason_prev": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "js_no_crawl_reason_prev",
                  "description": "The reasons why JavaScript files linked from the page were not crawled"
                },
                "jsonld_schema_types": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "jsonld_schema_types",
                  "description": "Schema objects found on the page"
                },
                "jsonld_schema_types_prev": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "jsonld_schema_types_prev",
                  "description": "Schema objects found on the page"
                },
                "jsonld_validation_kinds": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "jsonld_validation_kinds",
                  "description": "Issues with the structured data found on the page"
                },
                "jsonld_validation_kinds_prev": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "jsonld_validation_kinds_prev",
                  "description": "Issues with the structured data found on the page"
                },
                "keywords": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "keywords",
                  "description": "The page meta keywords"
                },
                "keywords_prev": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "keywords_prev",
                  "description": "The page meta keywords"
                },
                "length": {
                  "type": "integer",
                  "title": "length",
                  "description": "The character length of the URL"
                },
                "links_count_css": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_css",
                  "description": "The number of CSS files linked from the page"
                },
                "links_count_css_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_css_prev",
                  "description": "The number of CSS files linked from the page"
                },
                "links_count_external": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_external",
                  "description": "The number of external outgoing links on the page"
                },
                "links_count_external3xx": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_external3xx",
                  "description": "The number of external outgoing links on the page pointing to URLs that return one of the 3xx (redirection) HTTP status codes"
                },
                "links_count_external3xx_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_external3xx_prev",
                  "description": "The number of external outgoing links on the page pointing to URLs that return one of the 3xx (redirection) HTTP status codes"
                },
                "links_count_external4xx": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_external4xx",
                  "description": "The number of external outgoing links on the page pointing to URLs that return one of the 4xx (client error) HTTP status codes"
                },
                "links_count_external4xx_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_external4xx_prev",
                  "description": "The number of external outgoing links on the page pointing to URLs that return one of the 4xx (client error) HTTP status codes"
                },
                "links_count_external5xx": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_external5xx",
                  "description": "The number of external outgoing links on the page pointing to URLs that return one of the 5xx (server error) HTTP status codes"
                },
                "links_count_external5xx_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_external5xx_prev",
                  "description": "The number of external outgoing links on the page pointing to URLs that return one of the 5xx (server error) HTTP status codes"
                },
                "links_count_external_follow": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_external_follow",
                  "description": "The number of external outgoing dofollow links on the page"
                },
                "links_count_external_follow_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_external_follow_prev",
                  "description": "The number of external outgoing dofollow links on the page"
                },
                "links_count_external_nofollow": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_external_nofollow",
                  "description": "The number of external outgoing nofollow links on the page"
                },
                "links_count_external_nofollow_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_external_nofollow_prev",
                  "description": "The number of external outgoing nofollow links on the page"
                },
                "links_count_external_non_canonical": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_external_non_canonical",
                  "description": "The number of external outgoing links on the page that point to non-canonical pages"
                },
                "links_count_external_non_canonical_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_external_non_canonical_prev",
                  "description": "The number of external outgoing links on the page that point to non-canonical pages"
                },
                "links_count_external_xxx": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_external_xxx",
                  "description": "The number of external outgoing links on the page pointing to URLs that return HTTP status codes other than 2xx, 3xx, 4xx, 5xx or return no status code"
                },
                "links_count_external_xxx_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_external_xxx_prev",
                  "description": "The number of external outgoing links on the page pointing to URLs that return HTTP status codes other than 2xx, 3xx, 4xx, 5xx or return no status code"
                },
                "links_count_images": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_images",
                  "description": "The number of images linked from the page"
                },
                "links_count_images_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_images_prev",
                  "description": "The number of images linked from the page"
                },
                "links_count_images_with_alt": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_images_with_alt",
                  "description": "The number of images linked from the page that have an alt attribute (alternate text)"
                },
                "links_count_images_with_alt_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_images_with_alt_prev",
                  "description": "The number of images linked from the page that have an alt attribute (alternate text)"
                },
                "links_count_images_without_alt": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_images_without_alt",
                  "description": "The number of images linked from the page that have no alt attribute (alternate text)"
                },
                "links_count_images_without_alt_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_images_without_alt_prev",
                  "description": "The number of images linked from the page that have no alt attribute (alternate text)"
                },
                "links_count_internal": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_internal",
                  "description": "The number of internal outgoing links on the page"
                },
                "links_count_internal3xx": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_internal3xx",
                  "description": "The number of internal outgoing links on the page pointing to URLs that return one of the 3xx (redirection) HTTP status codes"
                },
                "links_count_internal3xx_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_internal3xx_prev",
                  "description": "The number of internal outgoing links on the page pointing to URLs that return one of the 3xx (redirection) HTTP status codes"
                },
                "links_count_internal4xx": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_internal4xx",
                  "description": "The number of internal outgoing links on the page pointing to URLs that return one of the 4xx (client error) HTTP status codes"
                },
                "links_count_internal4xx_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_internal4xx_prev",
                  "description": "The number of internal outgoing links on the page pointing to URLs that return one of the 4xx (client error) HTTP status codes"
                },
                "links_count_internal5xx": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_internal5xx",
                  "description": "The number of internal outgoing links on the page pointing to URLs that return one of the 5xx (server error) HTTP status codes"
                },
                "links_count_internal5xx_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_internal5xx_prev",
                  "description": "The number of internal outgoing links on the page pointing to URLs that return one of the 5xx (server error) HTTP status codes"
                },
                "links_count_internal_follow": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_internal_follow",
                  "description": "The number of internal outgoing dofollow links on the page"
                },
                "links_count_internal_follow_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_internal_follow_prev",
                  "description": "The number of internal outgoing dofollow links on the page"
                },
                "links_count_internal_nofollow": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_internal_nofollow",
                  "description": "The number of internal outgoing nofollow links on the page"
                },
                "links_count_internal_nofollow_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_internal_nofollow_prev",
                  "description": "The number of internal outgoing nofollow links on the page"
                },
                "links_count_internal_non_canonical": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_internal_non_canonical",
                  "description": "The number of internal outgoing links on the page that point to non-canonical pages"
                },
                "links_count_internal_non_canonical_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_internal_non_canonical_prev",
                  "description": "The number of internal outgoing links on the page that point to non-canonical pages"
                },
                "links_count_internal_xxx": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_internal_xxx",
                  "description": "The number of internal outgoing links on the page pointing to URLs that return HTTP status codes other than 2xx, 3xx, 4xx, 5xx or return no status code"
                },
                "links_count_internal_xxx_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_internal_xxx_prev",
                  "description": "The number of internal outgoing links on the page pointing to URLs that return HTTP status codes other than 2xx, 3xx, 4xx, 5xx or return no status code"
                },
                "links_count_js": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_js",
                  "description": "The number of JavaScript files linked from the page"
                },
                "links_count_js_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "links_count_js_prev",
                  "description": "The number of JavaScript files linked from the page"
                },
                "links_css": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_css",
                  "description": "The list of CSS files linked from the page"
                },
                "links_css_code": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_css_code",
                  "description": "The list of HTTP status codes returned by CSS files linked from the page"
                },
                "links_css_code_prev": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_css_code_prev",
                  "description": "The list of HTTP status codes returned by CSS files linked from the page"
                },
                "links_css_domain": {
                  "items": {
                    "type": "string",
                    "format": "domain"
                  },
                  "type": "array",
                  "title": "links_css_domain",
                  "description": "The list of domains that contain CSS files linked from the page"
                },
                "links_css_domain_prev": {
                  "items": {
                    "type": "string",
                    "format": "domain"
                  },
                  "type": "array",
                  "title": "links_css_domain_prev",
                  "description": "The list of domains that contain CSS files linked from the page"
                },
                "links_css_prev": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_css_prev",
                  "description": "The list of CSS files linked from the page"
                },
                "links_css_scheme": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "links_css_scheme",
                  "description": "The protocols of CSS files linked from the page"
                },
                "links_css_scheme_prev": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "links_css_scheme_prev",
                  "description": "The protocols of CSS files linked from the page"
                },
                "links_external3xx": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_external3xx",
                  "description": "The list of external outgoing links on the page pointing to URLs that return one of the 3xx (redirection) HTTP status codes"
                },
                "links_external3xx_code": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_external3xx_code",
                  "description": "The list of HTTP status codes returned by the external URLs linked from the page (3xx)"
                },
                "links_external3xx_code_prev": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_external3xx_code_prev",
                  "description": "The list of HTTP status codes returned by the external URLs linked from the page (3xx)"
                },
                "links_external3xx_prev": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_external3xx_prev",
                  "description": "The list of external outgoing links on the page pointing to URLs that return one of the 3xx (redirection) HTTP status codes"
                },
                "links_external4xx": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_external4xx",
                  "description": "The list of external outgoing links on the page pointing to URLs that return one of the 4xx (client error) HTTP status codes"
                },
                "links_external4xx_code": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_external4xx_code",
                  "description": "The list of HTTP status codes returned by the external URLs linked from the page (4xx)"
                },
                "links_external4xx_code_prev": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_external4xx_code_prev",
                  "description": "The list of HTTP status codes returned by the external URLs linked from the page (4xx)"
                },
                "links_external4xx_prev": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_external4xx_prev",
                  "description": "The list of external outgoing links on the page pointing to URLs that return one of the 4xx (client error) HTTP status codes"
                },
                "links_external5xx": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_external5xx",
                  "description": "The list of external outgoing links on the page pointing to URLs that return one of the 5xx (server error) HTTP status codes"
                },
                "links_external5xx_code": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_external5xx_code",
                  "description": "The list of HTTP status codes returned by the external URLs linked from the page (5xx)"
                },
                "links_external5xx_code_prev": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_external5xx_code_prev",
                  "description": "The list of HTTP status codes returned by the external URLs linked from the page (5xx)"
                },
                "links_external5xx_prev": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_external5xx_prev",
                  "description": "The list of external outgoing links on the page pointing to URLs that return one of the 5xx (server error) HTTP status codes"
                },
                "links_external_follow": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_external_follow",
                  "description": "The list of external outgoing dofollow links on the page"
                },
                "links_external_follow_code": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_external_follow_code",
                  "description": "The list of HTTP status codes returned by the external dofollow URLs linked from the page"
                },
                "links_external_follow_code_prev": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_external_follow_code_prev",
                  "description": "The list of HTTP status codes returned by the external dofollow URLs linked from the page"
                },
                "links_external_follow_prev": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_external_follow_prev",
                  "description": "The list of external outgoing dofollow links on the page"
                },
                "links_external_nofollow": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_external_nofollow",
                  "description": "The list of external outgoing nofollow links on the page"
                },
                "links_external_nofollow_code": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_external_nofollow_code",
                  "description": "The list of HTTP status codes returned by the external nofollow URLs linked from the page"
                },
                "links_external_nofollow_code_prev": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_external_nofollow_code_prev",
                  "description": "The list of HTTP status codes returned by the external nofollow URLs linked from the page"
                },
                "links_external_nofollow_prev": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_external_nofollow_prev",
                  "description": "The list of external outgoing nofollow links on the page"
                },
                "links_external_non_canonical": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_external_non_canonical",
                  "description": "The list of external outgoing links on the page that point to non-canonical pages"
                },
                "links_external_non_canonical_code": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_external_non_canonical_code",
                  "description": "The list of HTTP status codes returned by the external URLs linked from the page (NonCanonical)"
                },
                "links_external_non_canonical_code_prev": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_external_non_canonical_code_prev",
                  "description": "The list of HTTP status codes returned by the external URLs linked from the page (NonCanonical)"
                },
                "links_external_non_canonical_prev": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_external_non_canonical_prev",
                  "description": "The list of external outgoing links on the page that point to non-canonical pages"
                },
                "links_external_xxx": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_external_xxx",
                  "description": "The number of external outgoing links on the page pointing to URLs that return HTTP status codes other than 2xx, 3xx, 4xx, 5xx or return no status code"
                },
                "links_external_xxx_code": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_external_xxx_code",
                  "description": "The list of HTTP status codes returned by the external URLs linked from the page (Xxx)"
                },
                "links_external_xxx_code_prev": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_external_xxx_code_prev",
                  "description": "The list of HTTP status codes returned by the external URLs linked from the page (Xxx)"
                },
                "links_external_xxx_prev": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_external_xxx_prev",
                  "description": "The number of external outgoing links on the page pointing to URLs that return HTTP status codes other than 2xx, 3xx, 4xx, 5xx or return no status code"
                },
                "links_hreflang_code": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_hreflang_code",
                  "description": "The list of HTTP status codes returned by the URLs specified in hreflang tags on the page"
                },
                "links_hreflang_code_prev": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_hreflang_code_prev",
                  "description": "The list of HTTP status codes returned by the URLs specified in hreflang tags on the page"
                },
                "links_images": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_images",
                  "description": "The list of images linked from the page"
                },
                "links_images_alt": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_images_alt",
                  "description": "The list of alternate texts of images linked from the page"
                },
                "links_images_alt_prev": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_images_alt_prev",
                  "description": "The list of alternate texts of images linked from the page"
                },
                "links_images_code": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_images_code",
                  "description": "The list of HTTP status codes returned by images linked from the page"
                },
                "links_images_code_prev": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_images_code_prev",
                  "description": "The list of HTTP status codes returned by images linked from the page"
                },
                "links_images_domain": {
                  "items": {
                    "type": "string",
                    "format": "domain"
                  },
                  "type": "array",
                  "title": "links_images_domain",
                  "description": "The list of domains that contain images linked from the page"
                },
                "links_images_domain_prev": {
                  "items": {
                    "type": "string",
                    "format": "domain"
                  },
                  "type": "array",
                  "title": "links_images_domain_prev",
                  "description": "The list of domains that contain images linked from the page"
                },
                "links_images_prev": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_images_prev",
                  "description": "The list of images linked from the page"
                },
                "links_images_scheme": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "links_images_scheme",
                  "description": "The protocols of images linked from the page"
                },
                "links_images_scheme_prev": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "links_images_scheme_prev",
                  "description": "The protocols of images linked from the page"
                },
                "links_images_with_alt": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_images_with_alt",
                  "description": "The list of images linked from the page that have an alt attribute (alternate text)"
                },
                "links_images_with_alt_code": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_images_with_alt_code",
                  "description": "The list of HTTP status codes returned by images linked from the page that have an alt attribute (alternate text)"
                },
                "links_images_with_alt_code_prev": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_images_with_alt_code_prev",
                  "description": "The list of HTTP status codes returned by images linked from the page that have an alt attribute (alternate text)"
                },
                "links_images_with_alt_prev": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_images_with_alt_prev",
                  "description": "The list of images linked from the page that have an alt attribute (alternate text)"
                },
                "links_images_without_alt": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_images_without_alt",
                  "description": "The list of images linked from the page that have no alt attribute (alternate text)"
                },
                "links_images_without_alt_code": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_images_without_alt_code",
                  "description": "The list of HTTP status codes returned by images linked from the page that have no alt attribute (alternate text)"
                },
                "links_images_without_alt_code_prev": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_images_without_alt_code_prev",
                  "description": "The list of HTTP status codes returned by images linked from the page that have no alt attribute (alternate text)"
                },
                "links_images_without_alt_prev": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_images_without_alt_prev",
                  "description": "The list of images linked from the page that have no alt attribute (alternate text)"
                },
                "links_internal3xx": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_internal3xx",
                  "description": "The list of internal outgoing links on the page pointing to URLs that return one of the 3xx (redirection) HTTP status codes"
                },
                "links_internal3xx_code": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_internal3xx_code",
                  "description": "The list of HTTP status codes returned by the internal URLs linked from the page (3xx)"
                },
                "links_internal3xx_code_prev": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_internal3xx_code_prev",
                  "description": "The list of HTTP status codes returned by the internal URLs linked from the page (3xx)"
                },
                "links_internal3xx_prev": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_internal3xx_prev",
                  "description": "The list of internal outgoing links on the page pointing to URLs that return one of the 3xx (redirection) HTTP status codes"
                },
                "links_internal4xx": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_internal4xx",
                  "description": "The list of internal outgoing links on the page pointing to URLs that return one of the 4xx (client error) HTTP status codes"
                },
                "links_internal4xx_code": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_internal4xx_code",
                  "description": "The list of HTTP status codes returned by the internal URLs linked from the page (4xx)"
                },
                "links_internal4xx_code_prev": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_internal4xx_code_prev",
                  "description": "The list of HTTP status codes returned by the internal URLs linked from the page (4xx)"
                },
                "links_internal4xx_prev": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_internal4xx_prev",
                  "description": "The list of internal outgoing links on the page pointing to URLs that return one of the 4xx (client error) HTTP status codes"
                },
                "links_internal5xx": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_internal5xx",
                  "description": "The list of internal outgoing links on the page pointing to URLs that return one of the 5xx (server error) HTTP status codes"
                },
                "links_internal5xx_code": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_internal5xx_code",
                  "description": "The list of HTTP status codes returned by the internal URLs linked from the page (5xx)"
                },
                "links_internal5xx_code_prev": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_internal5xx_code_prev",
                  "description": "The list of HTTP status codes returned by the internal URLs linked from the page (5xx)"
                },
                "links_internal5xx_prev": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_internal5xx_prev",
                  "description": "The list of internal outgoing links on the page pointing to URLs that return one of the 5xx (server error) HTTP status codes"
                },
                "links_internal_follow": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_internal_follow",
                  "description": "The list of internal outgoing dofollow links on the page"
                },
                "links_internal_follow_code": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_internal_follow_code",
                  "description": "The list of HTTP status codes returned by the internal dofollow URLs linked from the page"
                },
                "links_internal_follow_code_prev": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_internal_follow_code_prev",
                  "description": "The list of HTTP status codes returned by the internal dofollow URLs linked from the page"
                },
                "links_internal_follow_prev": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_internal_follow_prev",
                  "description": "The list of internal outgoing dofollow links on the page"
                },
                "links_internal_nofollow": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_internal_nofollow",
                  "description": "The list of internal outgoing nofollow links on the page"
                },
                "links_internal_nofollow_code": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_internal_nofollow_code",
                  "description": "The list of HTTP status codes returned by the internal nofollow URLs linked from the page"
                },
                "links_internal_nofollow_code_prev": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_internal_nofollow_code_prev",
                  "description": "The list of HTTP status codes returned by the internal nofollow URLs linked from the page"
                },
                "links_internal_nofollow_prev": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_internal_nofollow_prev",
                  "description": "The list of internal outgoing nofollow links on the page"
                },
                "links_internal_non_canonical": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_internal_non_canonical",
                  "description": "The list of internal outgoing links on the page that point to non-canonical pages"
                },
                "links_internal_non_canonical_code": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_internal_non_canonical_code",
                  "description": "The list of HTTP status codes returned by the internal URLs linked from the page (non-canonical)"
                },
                "links_internal_non_canonical_code_prev": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_internal_non_canonical_code_prev",
                  "description": "The list of HTTP status codes returned by the internal URLs linked from the page (non-canonical)"
                },
                "links_internal_non_canonical_prev": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_internal_non_canonical_prev",
                  "description": "The list of internal outgoing links on the page that point to non-canonical pages"
                },
                "links_internal_xxx": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_internal_xxx",
                  "description": "The list of internal outgoing links on the page pointing to URLs that return HTTP status codes other than 2xx, 3xx, 4xx, 5xx or return no status code"
                },
                "links_internal_xxx_code": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_internal_xxx_code",
                  "description": "The list of HTTP status codes returned by the internal URLs linked from the page (Xxx)"
                },
                "links_internal_xxx_code_prev": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_internal_xxx_code_prev",
                  "description": "The list of HTTP status codes returned by the internal URLs linked from the page (Xxx)"
                },
                "links_internal_xxx_prev": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_internal_xxx_prev",
                  "description": "The list of internal outgoing links on the page pointing to URLs that return HTTP status codes other than 2xx, 3xx, 4xx, 5xx or return no status code"
                },
                "links_js": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_js",
                  "description": "The list of JavaScript files linked from the page"
                },
                "links_js_code": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_js_code",
                  "description": "The list of HTTP status codes returned by JavaScript files linked from the page"
                },
                "links_js_code_prev": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "links_js_code_prev",
                  "description": "The list of HTTP status codes returned by JavaScript files linked from the page"
                },
                "links_js_domain": {
                  "items": {
                    "type": "string",
                    "format": "domain"
                  },
                  "type": "array",
                  "title": "links_js_domain",
                  "description": "The list of domains that contain JavaScript files linked from the page"
                },
                "links_js_domain_prev": {
                  "items": {
                    "type": "string",
                    "format": "domain"
                  },
                  "type": "array",
                  "title": "links_js_domain_prev",
                  "description": "The list of domains that contain JavaScript files linked from the page"
                },
                "links_js_prev": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "links_js_prev",
                  "description": "The list of JavaScript files linked from the page"
                },
                "links_js_scheme": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "links_js_scheme",
                  "description": "The protocols of JavaScript files linked from the page"
                },
                "links_js_scheme_prev": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "links_js_scheme_prev",
                  "description": "The protocols of JavaScript files linked from the page"
                },
                "loading_time": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "loading_time",
                  "description": "The time it takes for the crawler to load the full content of the document, measured in milliseconds"
                },
                "loading_time_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "loading_time_diff",
                  "description": "The time it takes for the crawler to load the full content of the document, measured in milliseconds"
                },
                "loading_time_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "loading_time_prev",
                  "description": "The time it takes for the crawler to load the full content of the document, measured in milliseconds"
                },
                "meta_description": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "meta_description",
                  "description": "Meta description"
                },
                "meta_description_length": {
                  "items": {
                    "type": "integer"
                  },
                  "type": "array",
                  "title": "meta_description_length",
                  "description": "Meta description length"
                },
                "meta_description_length_prev": {
                  "items": {
                    "type": "integer"
                  },
                  "type": "array",
                  "title": "meta_description_length_prev",
                  "description": "Meta description length"
                },
                "meta_description_prev": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "meta_description_prev",
                  "description": "Meta description"
                },
                "meta_refresh": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "meta_refresh",
                  "description": "The time set in a meta refresh tag, in seconds"
                },
                "meta_refresh_prev": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "meta_refresh_prev",
                  "description": "The time set in a meta refresh tag, in seconds"
                },
                "meta_robots": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "meta_robots",
                  "description": "Instructions for web crawlers specified in HTML robots meta tags on the page"
                },
                "meta_robots_prev": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "meta_robots_prev",
                  "description": "Instructions for web crawlers specified in HTML robots meta tags on the page"
                },
                "meta_twitter_tags_app_google_play": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "meta_twitter_tags_app_google_play",
                  "description": "The app ID in the Google Play Store specified in the twitter:app:id:ipad meta property"
                },
                "meta_twitter_tags_app_google_play_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "meta_twitter_tags_app_google_play_prev",
                  "description": "The app ID in the Google Play Store specified in the twitter:app:id:ipad meta property"
                },
                "meta_twitter_tags_app_ipad": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "meta_twitter_tags_app_ipad",
                  "description": "The app ID in the iTunes App Store specified in the twitter:app:id:ipad meta property"
                },
                "meta_twitter_tags_app_ipad_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "meta_twitter_tags_app_ipad_prev",
                  "description": "The app ID in the iTunes App Store specified in the twitter:app:id:ipad meta property"
                },
                "meta_twitter_tags_app_iphone": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "meta_twitter_tags_app_iphone",
                  "description": "The app ID in the iTunes App Store specified in the twitter:app:id:iphone meta property"
                },
                "meta_twitter_tags_app_iphone_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "meta_twitter_tags_app_iphone_prev",
                  "description": "The app ID in the iTunes App Store specified in the twitter:app:id:iphone meta property"
                },
                "meta_twitter_tags_attributes": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "meta_twitter_tags_attributes",
                  "description": "The list of X (Twitter) Card properties on the page"
                },
                "meta_twitter_tags_attributes_prev": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "meta_twitter_tags_attributes_prev",
                  "description": "The list of X (Twitter) Card properties on the page"
                },
                "meta_twitter_tags_card": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "meta_twitter_tags_card",
                  "description": "The X (Twitter) Card type can be \"summary\", \"summary\\_large\\_image\", \"app\", or \"player\""
                },
                "meta_twitter_tags_card_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "meta_twitter_tags_card_prev",
                  "description": "The X (Twitter) Card type can be \"summary\", \"summary\\_large\\_image\", \"app\", or \"player\""
                },
                "meta_twitter_tags_description": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "meta_twitter_tags_description",
                  "description": "meta_twitter_tags.description"
                },
                "meta_twitter_tags_description_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "meta_twitter_tags_description_prev",
                  "description": "meta_twitter_tags.description"
                },
                "meta_twitter_tags_image": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "meta_twitter_tags_image",
                  "description": "The image URL specified in the twitter:image meta property"
                },
                "meta_twitter_tags_image_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "meta_twitter_tags_image_prev",
                  "description": "The image URL specified in the twitter:image meta property"
                },
                "meta_twitter_tags_image_url_invalid": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "meta_twitter_tags_image_url_invalid",
                  "description": "Indicates that the URL specified in the twitter:image meta property is a valid absolute URL"
                },
                "meta_twitter_tags_image_url_invalid_prev": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "meta_twitter_tags_image_url_invalid_prev",
                  "description": "Indicates that the URL specified in the twitter:image meta property is a valid absolute URL"
                },
                "meta_twitter_tags_player": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "meta_twitter_tags_player",
                  "description": "The HTTPS URL of player iframe specified in the twitter:player meta property"
                },
                "meta_twitter_tags_player_height": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "meta_twitter_tags_player_height",
                  "description": "The height of iframe in pixels specified in the twitter:player:width meta property"
                },
                "meta_twitter_tags_player_height_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "meta_twitter_tags_player_height_prev",
                  "description": "The height of iframe in pixels specified in the twitter:player:width meta property"
                },
                "meta_twitter_tags_player_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "meta_twitter_tags_player_prev",
                  "description": "The HTTPS URL of player iframe specified in the twitter:player meta property"
                },
                "meta_twitter_tags_player_width": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "meta_twitter_tags_player_width",
                  "description": "The width of iframe in pixels specified in the twitter:player:width meta property"
                },
                "meta_twitter_tags_player_width_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "meta_twitter_tags_player_width_diff",
                  "description": "The width of iframe in pixels specified in the twitter:player:width meta property"
                },
                "meta_twitter_tags_player_width_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "meta_twitter_tags_player_width_prev",
                  "description": "The width of iframe in pixels specified in the twitter:player:width meta property"
                },
                "meta_twitter_tags_site": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "meta_twitter_tags_site",
                  "description": "The X (Twitter) handle specified in the twitter:site meta property"
                },
                "meta_twitter_tags_site_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "meta_twitter_tags_site_prev",
                  "description": "The X (Twitter) handle specified in the twitter:site meta property"
                },
                "meta_twitter_tags_title": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "meta_twitter_tags_title",
                  "description": "The title text specified in the twitter:title meta property"
                },
                "meta_twitter_tags_title_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "meta_twitter_tags_title_prev",
                  "description": "The title text specified in the twitter:title meta property"
                },
                "meta_twitter_tags_valid": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "meta_twitter_tags_valid",
                  "description": "Indicates that the page has all the necessary tags required in a X (Twitter) Card"
                },
                "meta_twitter_tags_valid_prev": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "meta_twitter_tags_valid_prev",
                  "description": "Indicates that the page has all the necessary tags required in a X (Twitter) Card"
                },
                "meta_twitter_tags_values": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "meta_twitter_tags_values",
                  "description": "Data from the X (Twitter) Card properties on the page"
                },
                "meta_twitter_tags_values_prev": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "meta_twitter_tags_values_prev",
                  "description": "Data from the X (Twitter) Card properties on the page"
                },
                "navigation_next": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "url",
                  "title": "navigation_next",
                  "description": "The URL specified in the rel=\"next\" element on the page"
                },
                "navigation_next_code": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "navigation_next_code",
                  "description": "The HTTP status code returned by the URL specified in the rel=\"next\" element on a page"
                },
                "navigation_next_code_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "navigation_next_code_prev",
                  "description": "The HTTP status code returned by the URL specified in the rel=\"next\" element on a page"
                },
                "navigation_next_no_crawl_reason": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "navigation_next_no_crawl_reason",
                  "description": "The reason why the URL specified in the rel=\"next\" element on a page was not crawled"
                },
                "navigation_next_no_crawl_reason_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "navigation_next_no_crawl_reason_prev",
                  "description": "The reason why the URL specified in the rel=\"next\" element on a page was not crawled"
                },
                "navigation_next_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "url",
                  "title": "navigation_next_prev",
                  "description": "The URL specified in the rel=\"next\" element on the page"
                },
                "navigation_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "url",
                  "title": "navigation_prev",
                  "description": "The URL specified in the rel=\"prev\" element on the page"
                },
                "navigation_prev_code": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "navigation_prev_code",
                  "description": "The HTTP status code returned by the URL specified in the rel=\"prev\" element on a page"
                },
                "navigation_prev_code_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "navigation_prev_code_prev",
                  "description": "The HTTP status code returned by the URL specified in the rel=\"prev\" element on a page"
                },
                "navigation_prev_no_crawl_reason": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "navigation_prev_no_crawl_reason",
                  "description": "The reason why the URL specified in the rel=\"prev\" element on a page was not crawled"
                },
                "navigation_prev_no_crawl_reason_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "navigation_prev_no_crawl_reason_prev",
                  "description": "The reason why the URL specified in the rel=\"prev\" element on a page was not crawled"
                },
                "navigation_prev_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "url",
                  "title": "navigation_prev_prev",
                  "description": "The URL specified in the rel=\"prev\" element on the page"
                },
                "nofollow": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "nofollow",
                  "description": "The number of incoming external nofollow links pointing to the URL. Not to be confused with the number of linking pages, as one page can contain multiple backlinks"
                },
                "nofollow_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "nofollow_diff",
                  "description": "The number of incoming external nofollow links pointing to the URL. Not to be confused with the number of linking pages, as one page can contain multiple backlinks"
                },
                "nofollow_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "nofollow_prev",
                  "description": "The number of incoming external nofollow links pointing to the URL. Not to be confused with the number of linking pages, as one page can contain multiple backlinks"
                },
                "nr_h1": {
                  "type": "integer",
                  "title": "nr_h1",
                  "description": "The number of H1 subheaders on the page"
                },
                "nr_h1_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "nr_h1_diff",
                  "description": "The number of H1 subheaders on the page"
                },
                "nr_h1_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "nr_h1_prev",
                  "description": "The number of H1 subheaders on the page"
                },
                "nr_meta_description": {
                  "type": "integer",
                  "title": "nr_meta_description",
                  "description": "Number of Meta descriptions"
                },
                "nr_meta_description_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "nr_meta_description_diff",
                  "description": "Number of Meta descriptions"
                },
                "nr_meta_description_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "nr_meta_description_prev",
                  "description": "Number of Meta descriptions"
                },
                "nr_redirect_chain_urls": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "nr_redirect_chain_urls",
                  "description": "The number of redirect chain URLs"
                },
                "nr_redirect_chain_urls_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "nr_redirect_chain_urls_diff",
                  "description": "The number of redirect chain URLs"
                },
                "nr_redirect_chain_urls_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "nr_redirect_chain_urls_prev",
                  "description": "The number of redirect chain URLs"
                },
                "nr_titles": {
                  "type": "integer",
                  "title": "nr_titles",
                  "description": "The number of title tags on the page"
                },
                "nr_titles_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "nr_titles_diff",
                  "description": "The number of title tags on the page"
                },
                "nr_titles_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "nr_titles_prev",
                  "description": "The number of title tags on the page"
                },
                "og_tags_attributes": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "og_tags_attributes",
                  "description": "The list of Open Graph properties on a page"
                },
                "og_tags_attributes_prev": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "og_tags_attributes_prev",
                  "description": "The list of Open Graph properties on a page"
                },
                "og_tags_image": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "og_tags_image",
                  "description": "The image URL specified in the og:image meta property"
                },
                "og_tags_image_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "og_tags_image_prev",
                  "description": "The image URL specified in the og:image meta property"
                },
                "og_tags_image_url_invalid": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "og_tags_image_url_invalid",
                  "description": "Indicates that the URL specified in the og:image meta property is a valid absolute URL"
                },
                "og_tags_image_url_invalid_prev": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "og_tags_image_url_invalid_prev",
                  "description": "Indicates that the URL specified in the og:image meta property is a valid absolute URL"
                },
                "og_tags_inconsistent_canonical": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "og_tags_inconsistent_canonical",
                  "description": "Indicates that the URL specified in the og:url meta property matches the URL specified as the canonical version of the page"
                },
                "og_tags_inconsistent_canonical_prev": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "og_tags_inconsistent_canonical_prev",
                  "description": "Indicates that the URL specified in the og:url meta property matches the URL specified as the canonical version of the page"
                },
                "og_tags_title": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "og_tags_title",
                  "description": "The title text specified in the og:title meta property"
                },
                "og_tags_title_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "og_tags_title_prev",
                  "description": "The title text specified in the og:title meta property"
                },
                "og_tags_type": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "og_tags_type",
                  "description": "The object type specified in the og:type meta property"
                },
                "og_tags_type_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "og_tags_type_prev",
                  "description": "The object type specified in the og:type meta property"
                },
                "og_tags_url": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "og_tags_url",
                  "description": "The URL specified in the og:url meta property"
                },
                "og_tags_url_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "og_tags_url_prev",
                  "description": "The URL specified in the og:url meta property"
                },
                "og_tags_url_valid": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "og_tags_url_valid",
                  "description": "Indicates that the URL specified in the og:url meta property is a valid absolute URL"
                },
                "og_tags_url_valid_prev": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "og_tags_url_valid_prev",
                  "description": "Indicates that the URL specified in the og:url meta property is a valid absolute URL"
                },
                "og_tags_valid": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "og_tags_valid",
                  "description": "Indicates that the page has all four required Open Graph properties: og:title, og:type, og:image, and og:url"
                },
                "og_tags_valid_prev": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "og_tags_valid_prev",
                  "description": "Indicates that the page has all four required Open Graph properties: og:title, og:type, og:image, and og:url"
                },
                "og_tags_value": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "og_tags_value",
                  "description": "Data from Open Graph properties on a page"
                },
                "og_tags_value_prev": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "og_tags_value_prev",
                  "description": "Data from Open Graph properties on a page"
                },
                "origin": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "url",
                  "title": "origin",
                  "description": "Shows where the URL was originally found during the crawl"
                },
                "origin_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "url",
                  "title": "origin_prev",
                  "description": "Shows where the URL was originally found during the crawl"
                },
                "page_any_content_raw_length": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "page_any_content_raw_length",
                  "description": "The character length of the page source code"
                },
                "page_any_content_raw_length_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "page_any_content_raw_length_diff",
                  "description": "The character length of the page source code"
                },
                "page_any_content_raw_length_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "page_any_content_raw_length_prev",
                  "description": "The character length of the page source code"
                },
                "page_is_nofollow": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "page_is_nofollow",
                  "description": "Check if the page is nofollow, based on http header and meta robots instructions"
                },
                "page_is_nofollow_prev": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "page_is_nofollow_prev",
                  "description": "Check if the page is nofollow, based on http header and meta robots instructions"
                },
                "page_is_noindex": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "page_is_noindex",
                  "description": "Check if the page is noindex, based on http header and meta robots instructions"
                },
                "page_is_noindex_prev": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "page_is_noindex_prev",
                  "description": "Check if the page is noindex, based on http header and meta robots instructions"
                },
                "page_rating": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "page_rating",
                  "description": "Page Rating (PR) shows the URL's internal and external backlink profile strength relative to other URLs included in the crawl"
                },
                "page_raw_text_length": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "page_raw_text_length",
                  "description": "The character length of the raw textual content of the page"
                },
                "page_raw_text_length_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "page_raw_text_length_diff",
                  "description": "The character length of the raw textual content of the page"
                },
                "page_raw_text_length_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "page_raw_text_length_prev",
                  "description": "The character length of the raw textual content of the page"
                },
                "page_raw_ur": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "page_raw_ur",
                  "description": "URL Rating (UR) shows the strength of your target page's backlink profile on a 100-point logarithmic scale. [Learn more](https://help.ahrefs.com/en/articles/72658-what-is-url-rating-ur)"
                },
                "page_raw_ur_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "page_raw_ur_diff",
                  "description": "URL Rating (UR) shows the strength of your target page's backlink profile on a 100-point logarithmic scale. [Learn more](https://help.ahrefs.com/en/articles/72658-what-is-url-rating-ur)"
                },
                "page_raw_ur_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "page_raw_ur_prev",
                  "description": "URL Rating (UR) shows the strength of your target page's backlink profile on a 100-point logarithmic scale. [Learn more](https://help.ahrefs.com/en/articles/72658-what-is-url-rating-ur)"
                },
                "page_type": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "page_type",
                  "description": "Site Audit categorizes URLs as HTML Pages, Resource files (image, CSS or JavaScript), XML Sitemaps\n    and Robots.txt. If a page doesn't return status code 200 or has a content type that isn't covered by the categories above, it's\n    considered as \"Other\". Since we can't determine what these pages are, we further classify them based on how incoming links reference\n    them: as resources (receive resource incoming links) or as pages (receive non-resource incoming links)"
                },
                "page_type_prev": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "page_type_prev",
                  "description": "Site Audit categorizes URLs as HTML Pages, Resource files (image, CSS or JavaScript), XML Sitemaps\n    and Robots.txt. If a page doesn't return status code 200 or has a content type that isn't covered by the categories above, it's\n    considered as \"Other\". Since we can't determine what these pages are, we further classify them based on how incoming links reference\n    them: as resources (receive resource incoming links) or as pages (receive non-resource incoming links)"
                },
                "pagination_group": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "pagination_group",
                  "description": "The ID of the group of pages interconnected via their rel=\"next\" and rel=\"prev\" links"
                },
                "pagination_group_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "pagination_group_prev",
                  "description": "The ID of the group of pages interconnected via their rel=\"next\" and rel=\"prev\" links"
                },
                "positions": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "positions",
                  "description": "The number of keywords the page is ranking for in top 100 organic search results worldwide (data from Ahrefs' Site Explorer)"
                },
                "positions_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "positions_diff",
                  "description": "The number of keywords the page is ranking for in top 100 organic search results worldwide (data from Ahrefs' Site Explorer)"
                },
                "positions_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "positions_prev",
                  "description": "The number of keywords the page is ranking for in top 100 organic search results worldwide (data from Ahrefs' Site Explorer)"
                },
                "positions_top10": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "positions_top10",
                  "description": "The number of keywords the page is ranking for in top 10 organic search results worldwide (data from Ahrefs' Site Explorer)"
                },
                "positions_top10_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "positions_top10_diff",
                  "description": "The number of keywords the page is ranking for in top 10 organic search results worldwide (data from Ahrefs' Site Explorer)"
                },
                "positions_top10_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "positions_top10_prev",
                  "description": "The number of keywords the page is ranking for in top 10 organic search results worldwide (data from Ahrefs' Site Explorer)"
                },
                "positions_top3": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "positions_top3",
                  "description": "The number of keywords the page is ranking for in top 3 organic search results worldwide (data from Ahrefs' Site Explorer)"
                },
                "positions_top3_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "positions_top3_diff",
                  "description": "The number of keywords the page is ranking for in top 3 organic search results worldwide (data from Ahrefs' Site Explorer)"
                },
                "positions_top3_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "positions_top3_prev",
                  "description": "The number of keywords the page is ranking for in top 3 organic search results worldwide (data from Ahrefs' Site Explorer)"
                },
                "psi_crux_cls_category": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "psi_crux_cls_category",
                  "description": "Your CLS category will be either Good (<0.1), Needs Improvement (0.1 - 0.25), or Poor (>0.25). The category is based on the lowest threshold that includes 75% of page views. [Learn more](https://ahrefs.com/blog/core-web-vitals/)"
                },
                "psi_crux_cls_category_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "psi_crux_cls_category_prev",
                  "description": "Your CLS category will be either Good (<0.1), Needs Improvement (0.1 - 0.25), or Poor (>0.25). The category is based on the lowest threshold that includes 75% of page views. [Learn more](https://ahrefs.com/blog/core-web-vitals/)"
                },
                "psi_crux_cls_distributions_proportion": {
                  "items": {
                    "type": [
                      "number",
                      "null"
                    ],
                    "format": "float"
                  },
                  "type": "array",
                  "title": "psi_crux_cls_distributions_proportion",
                  "description": "What % of collected CLS metrics are in each associated threshold, which categorize performance as either \"Good\", \"Needs Improvement\", or \"Poor\". [Learn more](https://ahrefs.com/blog/core-web-vitals/)"
                },
                "psi_crux_cls_distributions_proportion_prev": {
                  "items": {
                    "type": [
                      "number",
                      "null"
                    ],
                    "format": "float"
                  },
                  "type": "array",
                  "title": "psi_crux_cls_distributions_proportion_prev",
                  "description": "What % of collected CLS metrics are in each associated threshold, which categorize performance as either \"Good\", \"Needs Improvement\", or \"Poor\". [Learn more](https://ahrefs.com/blog/core-web-vitals/)"
                },
                "psi_crux_cls_percentile": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "psi_crux_cls_percentile",
                  "description": "Cumulative Layout Shift measures visual stability. The range is 0-1, where 0 is stable and 1 means a lot of shifting. This score comes from the Chrome User Experience Report which looks at real user data. [Learn more](https://ahrefs.com/blog/core-web-vitals/)"
                },
                "psi_crux_cls_percentile_diff": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "psi_crux_cls_percentile_diff",
                  "description": "Cumulative Layout Shift measures visual stability. The range is 0-1, where 0 is stable and 1 means a lot of shifting. This score comes from the Chrome User Experience Report which looks at real user data. [Learn more](https://ahrefs.com/blog/core-web-vitals/)"
                },
                "psi_crux_cls_percentile_prev": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "psi_crux_cls_percentile_prev",
                  "description": "Cumulative Layout Shift measures visual stability. The range is 0-1, where 0 is stable and 1 means a lot of shifting. This score comes from the Chrome User Experience Report which looks at real user data. [Learn more](https://ahrefs.com/blog/core-web-vitals/)"
                },
                "psi_crux_fid_category": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "psi_crux_fid_category",
                  "description": "Your FID category will be either Good (<100 ms), Needs Improvement (100 ms - 300 ms), or Poor (>300 ms). The category is based on the lowest threshold that includes 75% of page views. [Learn more](https://ahrefs.com/blog/core-web-vitals/)"
                },
                "psi_crux_fid_category_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "psi_crux_fid_category_prev",
                  "description": "Your FID category will be either Good (<100 ms), Needs Improvement (100 ms - 300 ms), or Poor (>300 ms). The category is based on the lowest threshold that includes 75% of page views. [Learn more](https://ahrefs.com/blog/core-web-vitals/)"
                },
                "psi_crux_fid_distributions_proportion": {
                  "items": {
                    "type": [
                      "number",
                      "null"
                    ],
                    "format": "float"
                  },
                  "type": "array",
                  "title": "psi_crux_fid_distributions_proportion",
                  "description": "What % of collected FID metrics are in each associated threshold, which categorize performance as either \"Good\", \"Needs Improvement\", or \"Poor\". [Learn more](https://ahrefs.com/blog/core-web-vitals/)"
                },
                "psi_crux_fid_distributions_proportion_prev": {
                  "items": {
                    "type": [
                      "number",
                      "null"
                    ],
                    "format": "float"
                  },
                  "type": "array",
                  "title": "psi_crux_fid_distributions_proportion_prev",
                  "description": "What % of collected FID metrics are in each associated threshold, which categorize performance as either \"Good\", \"Needs Improvement\", or \"Poor\". [Learn more](https://ahrefs.com/blog/core-web-vitals/)"
                },
                "psi_crux_fid_percentile": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "psi_crux_fid_percentile",
                  "description": "First Input Delay measures interactivity. This score comes from the Chrome User Experience Report which looks at real user data. [Learn more](https://ahrefs.com/blog/core-web-vitals/)"
                },
                "psi_crux_fid_percentile_prev": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "psi_crux_fid_percentile_prev",
                  "description": "First Input Delay measures interactivity. This score comes from the Chrome User Experience Report which looks at real user data. [Learn more](https://ahrefs.com/blog/core-web-vitals/)"
                },
                "psi_crux_inp_category": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "psi_crux_inp_category",
                  "description": "Your INP category will be either Good (<200 ms), Needs Improvement (200 ms - 500 ms), or Poor (>500 ms). The category is based on the lowest threshold that includes 75% of page views. [Learn more](https://web.dev/inp/)"
                },
                "psi_crux_inp_category_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "psi_crux_inp_category_prev",
                  "description": "Your INP category will be either Good (<200 ms), Needs Improvement (200 ms - 500 ms), or Poor (>500 ms). The category is based on the lowest threshold that includes 75% of page views. [Learn more](https://web.dev/inp/)"
                },
                "psi_crux_inp_distributions_proportion": {
                  "items": {
                    "type": [
                      "number",
                      "null"
                    ],
                    "format": "float"
                  },
                  "type": "array",
                  "title": "psi_crux_inp_distributions_proportion",
                  "description": "What % of collected INP metrics are in each associated threshold, which categorize performance as either \"Good\", \"Needs Improvement\", or \"Poor\". [Learn more](https://web.dev/inp/)"
                },
                "psi_crux_inp_distributions_proportion_prev": {
                  "items": {
                    "type": [
                      "number",
                      "null"
                    ],
                    "format": "float"
                  },
                  "type": "array",
                  "title": "psi_crux_inp_distributions_proportion_prev",
                  "description": "What % of collected INP metrics are in each associated threshold, which categorize performance as either \"Good\", \"Needs Improvement\", or \"Poor\". [Learn more](https://web.dev/inp/)"
                },
                "psi_crux_inp_percentile": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "psi_crux_inp_percentile",
                  "description": "Interaction to Next Paint measure overall responsiveness of a page to user interactions. This score comes from the Chrome User Experience Report which looks at real user data. [Learn more](https://web.dev/inp/)"
                },
                "psi_crux_inp_percentile_diff": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "psi_crux_inp_percentile_diff",
                  "description": "Interaction to Next Paint measure overall responsiveness of a page to user interactions. This score comes from the Chrome User Experience Report which looks at real user data. [Learn more](https://web.dev/inp/)"
                },
                "psi_crux_inp_percentile_prev": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "psi_crux_inp_percentile_prev",
                  "description": "Interaction to Next Paint measure overall responsiveness of a page to user interactions. This score comes from the Chrome User Experience Report which looks at real user data. [Learn more](https://web.dev/inp/)"
                },
                "psi_crux_lcp_category": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "psi_crux_lcp_category",
                  "description": "Your LCP category will be either Good (<2.5 sec), Needs Improvement (2.5 sec - 4.0 sec), or Poor (>4.0 sec). The category is based on the lowest threshold that includes 75% of page views. [Learn more](https://ahrefs.com/blog/core-web-vitals/)"
                },
                "psi_crux_lcp_category_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "psi_crux_lcp_category_prev",
                  "description": "Your LCP category will be either Good (<2.5 sec), Needs Improvement (2.5 sec - 4.0 sec), or Poor (>4.0 sec). The category is based on the lowest threshold that includes 75% of page views. [Learn more](https://ahrefs.com/blog/core-web-vitals/)"
                },
                "psi_crux_lcp_distributions_proportion": {
                  "items": {
                    "type": [
                      "number",
                      "null"
                    ],
                    "format": "float"
                  },
                  "type": "array",
                  "title": "psi_crux_lcp_distributions_proportion",
                  "description": "What % of collected LCP metrics are in each associated threshold, which categorize performance as either \"Good\", \"Needs Improvement\", or \"Poor\". [Learn more](https://ahrefs.com/blog/core-web-vitals/)"
                },
                "psi_crux_lcp_distributions_proportion_prev": {
                  "items": {
                    "type": [
                      "number",
                      "null"
                    ],
                    "format": "float"
                  },
                  "type": "array",
                  "title": "psi_crux_lcp_distributions_proportion_prev",
                  "description": "What % of collected LCP metrics are in each associated threshold, which categorize performance as either \"Good\", \"Needs Improvement\", or \"Poor\". [Learn more](https://ahrefs.com/blog/core-web-vitals/)"
                },
                "psi_crux_lcp_percentile": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "psi_crux_lcp_percentile",
                  "description": "Largest Contentful Paint measures visual loading performance. This score comes from the Chrome User Experience Report which looks at real user data. [Learn more](https://ahrefs.com/blog/core-web-vitals/)"
                },
                "psi_crux_lcp_percentile_diff": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "psi_crux_lcp_percentile_diff",
                  "description": "Largest Contentful Paint measures visual loading performance. This score comes from the Chrome User Experience Report which looks at real user data. [Learn more](https://ahrefs.com/blog/core-web-vitals/)"
                },
                "psi_crux_lcp_percentile_prev": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "psi_crux_lcp_percentile_prev",
                  "description": "Largest Contentful Paint measures visual loading performance. This score comes from the Chrome User Experience Report which looks at real user data. [Learn more](https://ahrefs.com/blog/core-web-vitals/)"
                },
                "psi_lighthouse_cls_error_message": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "psi_lighthouse_cls_error_message",
                  "description": "The message returned by Lighthouse if there is an error when measuring CLS"
                },
                "psi_lighthouse_cls_error_message_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "psi_lighthouse_cls_error_message_prev",
                  "description": "The message returned by Lighthouse if there is an error when measuring CLS"
                },
                "psi_lighthouse_cls_value": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "psi_lighthouse_cls_value",
                  "description": "Cumulative Layout Shift measures visual stability. The range is 0-1, where 0 is stable and 1 means a lot of shifting. This score comes from Lighthouse in a simulated test environment. [Learn more](https://ahrefs.com/blog/core-web-vitals/)"
                },
                "psi_lighthouse_cls_value_diff": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "psi_lighthouse_cls_value_diff",
                  "description": "Cumulative Layout Shift measures visual stability. The range is 0-1, where 0 is stable and 1 means a lot of shifting. This score comes from Lighthouse in a simulated test environment. [Learn more](https://ahrefs.com/blog/core-web-vitals/)"
                },
                "psi_lighthouse_cls_value_prev": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "psi_lighthouse_cls_value_prev",
                  "description": "Cumulative Layout Shift measures visual stability. The range is 0-1, where 0 is stable and 1 means a lot of shifting. This score comes from Lighthouse in a simulated test environment. [Learn more](https://ahrefs.com/blog/core-web-vitals/)"
                },
                "psi_lighthouse_lcp_error_message": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "psi_lighthouse_lcp_error_message",
                  "description": "The message returned by Lighthouse if there is an error when measuring LCP"
                },
                "psi_lighthouse_lcp_error_message_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "psi_lighthouse_lcp_error_message_prev",
                  "description": "The message returned by Lighthouse if there is an error when measuring LCP"
                },
                "psi_lighthouse_lcp_value": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "psi_lighthouse_lcp_value",
                  "description": "Largest Contentful Paint measures visual loading performance. This score comes from Lighthouse in a simulated test environment. [Learn more](https://ahrefs.com/blog/core-web-vitals/)"
                },
                "psi_lighthouse_lcp_value_diff": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "psi_lighthouse_lcp_value_diff",
                  "description": "Largest Contentful Paint measures visual loading performance. This score comes from Lighthouse in a simulated test environment. [Learn more](https://ahrefs.com/blog/core-web-vitals/)"
                },
                "psi_lighthouse_lcp_value_prev": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "psi_lighthouse_lcp_value_prev",
                  "description": "Largest Contentful Paint measures visual loading performance. This score comes from Lighthouse in a simulated test environment. [Learn more](https://ahrefs.com/blog/core-web-vitals/)"
                },
                "psi_lighthouse_score": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "psi_lighthouse_score",
                  "description": "This score uses multiple Lighthouse speed metrics to create a summary of the page's performance and use of best practices. Scores will be considered Good (>90), Needs Improvement (50-90), or Poor (<50). [Learn more](https://web.dev/performance-scoring/)"
                },
                "psi_lighthouse_score_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "psi_lighthouse_score_prev",
                  "description": "This score uses multiple Lighthouse speed metrics to create a summary of the page's performance and use of best practices. Scores will be considered Good (>90), Needs Improvement (50-90), or Poor (<50). [Learn more](https://web.dev/performance-scoring/)"
                },
                "psi_lighthouse_tbt_error_message": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "psi_lighthouse_tbt_error_message",
                  "description": "The message returned by Lighthouse if there is an error when measuring TBT"
                },
                "psi_lighthouse_tbt_error_message_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "psi_lighthouse_tbt_error_message_prev",
                  "description": "The message returned by Lighthouse if there is an error when measuring TBT"
                },
                "psi_lighthouse_tbt_value": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "psi_lighthouse_tbt_value",
                  "description": "Total Blocking Time measures the total amount of time that a page is blocked from responding to user interactions. This score comes from Lighthouse in a simulated test environment. TBT is the recommended alternative to FID for lab tests. [Learn more](https://ahrefs.com/blog/core-web-vitals/)"
                },
                "psi_lighthouse_tbt_value_diff": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "psi_lighthouse_tbt_value_diff",
                  "description": "Total Blocking Time measures the total amount of time that a page is blocked from responding to user interactions. This score comes from Lighthouse in a simulated test environment. TBT is the recommended alternative to FID for lab tests. [Learn more](https://ahrefs.com/blog/core-web-vitals/)"
                },
                "psi_lighthouse_tbt_value_prev": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "psi_lighthouse_tbt_value_prev",
                  "description": "Total Blocking Time measures the total amount of time that a page is blocked from responding to user interactions. This score comes from Lighthouse in a simulated test environment. TBT is the recommended alternative to FID for lab tests. [Learn more](https://ahrefs.com/blog/core-web-vitals/)"
                },
                "psi_mobile_issues": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "psi_mobile_issues",
                  "description": "List of mobile-related issues on the page detected by Lighthouse"
                },
                "psi_mobile_issues_explanations": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "psi_mobile_issues_explanations",
                  "description": "Details about the mobile issues detected by Lighthouse"
                },
                "psi_mobile_issues_explanations_prev": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "psi_mobile_issues_explanations_prev",
                  "description": "Details about the mobile issues detected by Lighthouse"
                },
                "psi_mobile_issues_prev": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "psi_mobile_issues_prev",
                  "description": "List of mobile-related issues on the page detected by Lighthouse"
                },
                "psi_request_error_message": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "psi_request_error_message",
                  "description": "The message returned by PageSpeed Insights API if there is an error. [Learn more](https://help.ahrefs.com/en/articles/5369589-how-to-see-core-web-vitals-and-other-speed-metrics-in-site-audit-tool)"
                },
                "psi_request_status": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "psi_request_status",
                  "description": "The result of a request to PageSpeed Insights API. [Learn more](https://help.ahrefs.com/en/articles/5369589-how-to-see-core-web-vitals-and-other-speed-metrics-in-site-audit-tool)"
                },
                "redirect": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "url",
                  "title": "redirect",
                  "description": "The destination of the redirecting URL"
                },
                "redirect_chain_urls": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "redirect_chain_urls",
                  "description": "The list of redirect chain URLs"
                },
                "redirect_chain_urls_code": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "redirect_chain_urls_code",
                  "description": "The list of HTTP status codes returned by the redirect chain URLs"
                },
                "redirect_chain_urls_code_prev": {
                  "items": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "redirect_chain_urls_code_prev",
                  "description": "The list of HTTP status codes returned by the redirect chain URLs"
                },
                "redirect_chain_urls_no_crawl_reason": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "redirect_chain_urls_no_crawl_reason",
                  "description": "The reasons why the redirect chain URLs were not crawled"
                },
                "redirect_chain_urls_no_crawl_reason_prev": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "redirect_chain_urls_no_crawl_reason_prev",
                  "description": "The reasons why the redirect chain URLs were not crawled"
                },
                "redirect_chain_urls_prev": {
                  "items": {
                    "type": "string",
                    "format": "url"
                  },
                  "type": "array",
                  "title": "redirect_chain_urls_prev",
                  "description": "The list of redirect chain URLs"
                },
                "redirect_code": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "redirect_code",
                  "description": "The HTTP status code of the destination of the redirecting URL"
                },
                "redirect_code_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "redirect_code_prev",
                  "description": "The HTTP status code of the destination of the redirecting URL"
                },
                "redirect_counts": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "redirect_counts",
                  "description": "The number of incoming external links pointing to the URL via a redirect. Not to be confused with the number of linking pages, as one page can contain multiple backlinks"
                },
                "redirect_counts_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "redirect_counts_diff",
                  "description": "The number of incoming external links pointing to the URL via a redirect. Not to be confused with the number of linking pages, as one page can contain multiple backlinks"
                },
                "redirect_counts_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "redirect_counts_prev",
                  "description": "The number of incoming external links pointing to the URL via a redirect. Not to be confused with the number of linking pages, as one page can contain multiple backlinks"
                },
                "redirect_is_canonical": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "redirect_is_canonical",
                  "description": "Indicates whether the target page tags itself as the canonical version to be shown in search results. A page is considered as canonical when it doesn't refer to any other pages as canonical"
                },
                "redirect_is_canonical_prev": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "redirect_is_canonical_prev",
                  "description": "Indicates whether the target page tags itself as the canonical version to be shown in search results. A page is considered as canonical when it doesn't refer to any other pages as canonical"
                },
                "redirect_no_crawl_reason": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "redirect_no_crawl_reason",
                  "description": "The reason why the destination of the redirecting URL was not crawled"
                },
                "redirect_no_crawl_reason_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "redirect_no_crawl_reason_prev",
                  "description": "The reason why the destination of the redirecting URL was not crawled"
                },
                "redirect_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "url",
                  "title": "redirect_prev",
                  "description": "The destination of the redirecting URL"
                },
                "redirect_scheme": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "redirect_scheme",
                  "description": "The protocol of the redirecting URL"
                },
                "redirect_scheme_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "redirect_scheme_prev",
                  "description": "The protocol of the redirecting URL"
                },
                "refclass_c": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "refclass_c",
                  "description": "The number of IP networks that have websites with at least 1 link pointing to the URL. An IP network consists of IP addresses sharing the first three numbers of their numerical label. Example: 151.80.39.61 is the website IP address where 151.80.39.XXX is the IP network"
                },
                "refclass_c_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "refclass_c_diff",
                  "description": "The number of IP networks that have websites with at least 1 link pointing to the URL. An IP network consists of IP addresses sharing the first three numbers of their numerical label. Example: 151.80.39.61 is the website IP address where 151.80.39.XXX is the IP network"
                },
                "refclass_c_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "refclass_c_prev",
                  "description": "The number of IP networks that have websites with at least 1 link pointing to the URL. An IP network consists of IP addresses sharing the first three numbers of their numerical label. Example: 151.80.39.61 is the website IP address where 151.80.39.XXX is the IP network"
                },
                "refhosts": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "refhosts",
                  "description": "The number of unique external domains that have at least 1 link pointing to the URL (data from Ahrefs' Site Explorer database)"
                },
                "refhosts_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "refhosts_diff",
                  "description": "The number of unique external domains that have at least 1 link pointing to the URL (data from Ahrefs' Site Explorer database)"
                },
                "refhosts_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "refhosts_prev",
                  "description": "The number of unique external domains that have at least 1 link pointing to the URL (data from Ahrefs' Site Explorer database)"
                },
                "refips": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "refips",
                  "description": "The number of unique external IP addresses that incorporate websites with at least 1 link pointing to the URL. Several domains can share one IP address"
                },
                "refips_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "refips_diff",
                  "description": "The number of unique external IP addresses that incorporate websites with at least 1 link pointing to the URL. Several domains can share one IP address"
                },
                "refips_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "refips_prev",
                  "description": "The number of unique external IP addresses that incorporate websites with at least 1 link pointing to the URL. Several domains can share one IP address"
                },
                "refpages": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "refpages",
                  "description": "The number of unique external pages linking to the URL (data from Ahrefs' Site Explorer database)"
                },
                "refpages_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "refpages_diff",
                  "description": "The number of unique external pages linking to the URL (data from Ahrefs' Site Explorer database)"
                },
                "refpages_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "refpages_prev",
                  "description": "The number of unique external pages linking to the URL (data from Ahrefs' Site Explorer database)"
                },
                "robots_error": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "robots_error",
                  "description": "The error occurred while crawling the robots.txt file"
                },
                "robots_error_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "robots_error_prev",
                  "description": "The error occurred while crawling the robots.txt file"
                },
                "robots_sitemaps": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "format": "url"
                  },
                  "type": "array",
                  "title": "robots_sitemaps",
                  "description": "The list of sitemaps referenced in the robots.txt file"
                },
                "robots_sitemaps_prev": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ],
                    "format": "url"
                  },
                  "type": "array",
                  "title": "robots_sitemaps_prev",
                  "description": "The list of sitemaps referenced in the robots.txt file"
                },
                "rss": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "rss",
                  "description": "The number of incoming external links from RSS feeds (data from Ahrefs' Site Explorer database)"
                },
                "rss_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "rss_diff",
                  "description": "The number of incoming external links from RSS feeds (data from Ahrefs' Site Explorer database)"
                },
                "rss_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "rss_prev",
                  "description": "The number of incoming external links from RSS feeds (data from Ahrefs' Site Explorer database)"
                },
                "scheme": {
                  "type": "string",
                  "title": "scheme",
                  "description": "Hypertext Transfer Protocol of the URL (HTTP or HTTPS)"
                },
                "self_canonical": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "self_canonical",
                  "description": "Indicates that the page has a self-referential canonical URL"
                },
                "self_canonical_prev": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "self_canonical_prev",
                  "description": "Indicates that the page has a self-referential canonical URL"
                },
                "self_hreflang": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "self_hreflang",
                  "description": "Data from hreflang tag with a self-referential URL"
                },
                "self_hreflang_code_is_valid": {
                  "items": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "self_hreflang_code_is_valid",
                  "description": "Indicates that hreflang data is specified properly in hreflang tag with a self-referential URL. The language must be specified in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes), and optionally the region in [ISO 3166-1 Alpha 2 format](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)"
                },
                "self_hreflang_code_is_valid_prev": {
                  "items": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "self_hreflang_code_is_valid_prev",
                  "description": "Indicates that hreflang data is specified properly in hreflang tag with a self-referential URL. The language must be specified in [ISO 639-1 format](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes), and optionally the region in [ISO 3166-1 Alpha 2 format](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)"
                },
                "self_hreflang_country": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "self_hreflang_country",
                  "description": "The region specified in the hreflang tag with a self-referential URL"
                },
                "self_hreflang_country_prev": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "self_hreflang_country_prev",
                  "description": "The region specified in the hreflang tag with a self-referential URL"
                },
                "self_hreflang_language": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "self_hreflang_language",
                  "description": "The language specified in the hreflang tag with a self-referential URL"
                },
                "self_hreflang_language_prev": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "self_hreflang_language_prev",
                  "description": "The language specified in the hreflang tag with a self-referential URL"
                },
                "self_hreflang_prev": {
                  "items": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "type": "array",
                  "title": "self_hreflang_prev",
                  "description": "Data from hreflang tag with a self-referential URL"
                },
                "serp_title": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "serp_title",
                  "description": "The title displayed for the page in its top keyword's SERP on desktop"
                },
                "serp_title_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "serp_title_prev",
                  "description": "The title displayed for the page in its top keyword's SERP on desktop"
                },
                "sitemap_error": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "sitemap_error",
                  "description": "The error occurred while crawling the sitemap"
                },
                "sitemap_error_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "sitemap_error_prev",
                  "description": "The error occurred while crawling the sitemap"
                },
                "sitemap_is_index": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "sitemap_is_index",
                  "description": "Indicates that the sitemap is a sitemap index file"
                },
                "sitemap_is_index_prev": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "sitemap_is_index_prev",
                  "description": "Indicates that the sitemap is a sitemap index file"
                },
                "sitemap_nr_urls": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "sitemap_nr_urls",
                  "description": "The number of URLs referenced in the sitemap"
                },
                "sitemap_nr_urls_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "sitemap_nr_urls_diff",
                  "description": "The number of URLs referenced in the sitemap"
                },
                "sitemap_nr_urls_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "sitemap_nr_urls_prev",
                  "description": "The number of URLs referenced in the sitemap"
                },
                "size": {
                  "type": "integer",
                  "title": "size",
                  "description": "The size of the page or resource, measured in bytes"
                },
                "size_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "size_prev",
                  "description": "The size of the page or resource, measured in bytes"
                },
                "size_uncompressed": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "size_uncompressed",
                  "description": "The size of the downloaded page or resource after decompression, measured in bytes"
                },
                "size_uncompressed_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "size_uncompressed_diff",
                  "description": "The size of the downloaded page or resource after decompression, measured in bytes"
                },
                "size_uncompressed_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "size_uncompressed_prev",
                  "description": "The size of the downloaded page or resource after decompression, measured in bytes"
                },
                "source": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "source",
                  "description": "Source from which the URL can be reached"
                },
                "source_prev": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "source_prev",
                  "description": "Source from which the URL can be reached"
                },
                "stamp": {
                  "type": "string",
                  "format": "date",
                  "title": "stamp",
                  "description": "The time and date when the URL was crawled"
                },
                "stamp_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date",
                  "title": "stamp_prev",
                  "description": "The time and date when the URL was crawled"
                },
                "time_to_first_byte": {
                  "type": "integer",
                  "title": "time_to_first_byte",
                  "description": "The time it takes for the crawler to receive the first byte of the response from a web server, measured in milliseconds"
                },
                "time_to_first_byte_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "time_to_first_byte_diff",
                  "description": "The time it takes for the crawler to receive the first byte of the response from a web server, measured in milliseconds"
                },
                "time_to_first_byte_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "time_to_first_byte_prev",
                  "description": "The time it takes for the crawler to receive the first byte of the response from a web server, measured in milliseconds"
                },
                "title": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "title",
                  "description": "The page title"
                },
                "title_prev": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "title_prev",
                  "description": "The page title"
                },
                "titles_length": {
                  "items": {
                    "type": "integer"
                  },
                  "type": "array",
                  "title": "titles_length",
                  "description": "The character length of the page title"
                },
                "titles_length_prev": {
                  "items": {
                    "type": "integer"
                  },
                  "type": "array",
                  "title": "titles_length_prev",
                  "description": "The character length of the page title"
                },
                "top_keyword": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "top_keyword",
                  "description": "The keyword that brings the page the most organic traffic across all countries"
                },
                "top_keyword_country": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "top_keyword_country",
                  "description": "The country in which the page ranks for its top keyword"
                },
                "top_keyword_country_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "top_keyword_country_prev",
                  "description": "The country in which the page ranks for its top keyword"
                },
                "top_keyword_position": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "top_keyword_position",
                  "description": "The position that the page holds for its top keyword"
                },
                "top_keyword_position_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "top_keyword_position_diff",
                  "description": "The position that the page holds for its top keyword"
                },
                "top_keyword_position_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "top_keyword_position_prev",
                  "description": "The position that the page holds for its top keyword"
                },
                "traffic": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "traffic",
                  "description": "Our estimate of monthly organic search traffic coming to the URL (data from Ahrefs Site Explorer). Calculations are based on a mixture of clickstream data, the estimated monthly search volumes of keywords for which the page ranks, and the current ranking position for the URL in the search results. You can learn more [here](https://ahrefs.com/blog/ahrefs-seo-metrics/#organictraffic)"
                },
                "traffic_diff": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "traffic_diff",
                  "description": "Our estimate of monthly organic search traffic coming to the URL (data from Ahrefs Site Explorer). Calculations are based on a mixture of clickstream data, the estimated monthly search volumes of keywords for which the page ranks, and the current ranking position for the URL in the search results. You can learn more [here](https://ahrefs.com/blog/ahrefs-seo-metrics/#organictraffic)"
                },
                "traffic_prev": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "traffic_prev",
                  "description": "Our estimate of monthly organic search traffic coming to the URL (data from Ahrefs Site Explorer). Calculations are based on a mixture of clickstream data, the estimated monthly search volumes of keywords for which the page ranks, and the current ranking position for the URL in the search results. You can learn more [here](https://ahrefs.com/blog/ahrefs-seo-metrics/#organictraffic)"
                },
                "url": {
                  "type": "string",
                  "format": "url",
                  "title": "url",
                  "description": "The web address of the page or resource"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "rank-tracker.Error response": {
        "properties": {
          "error": {
            "type": "string"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "rank-tracker.overview": {
        "properties": {
          "overviews": {
            "items": {
              "properties": {
                "best_position_has_thumbnail": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "best_position_has_thumbnail",
                  "description": "The top position (or target URL’s, if set) has a thumbnail."
                },
                "best_position_has_thumbnail_previous": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "best_position_has_thumbnail_previous",
                  "description": "The top position (or target URL’s, if set) has a thumbnail on the comparison date."
                },
                "best_position_has_video_preview": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "best_position_has_video_preview",
                  "description": "The top position (or target URL’s, if set) has a video preview."
                },
                "best_position_has_video_preview_previous": {
                  "type": [
                    "boolean",
                    "null"
                  ],
                  "title": "best_position_has_video_preview_previous",
                  "description": "The top position (or target URL’s, if set) has a video preview on the comparison date."
                },
                "best_position_kind": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "enum": [
                    "paid_top",
                    "paid_bottom",
                    "paid_right",
                    "paid_sitelink",
                    "organic",
                    "sitelink",
                    "snippet",
                    "image",
                    "article",
                    "knowledge_card",
                    "knowledge_panel",
                    "local_pack",
                    "local_teaser",
                    "news",
                    "question",
                    "review",
                    "shopping",
                    "tweet",
                    "spelling",
                    "video",
                    "discussion",
                    "ai_overview",
                    "ai_overview_sitelink",
                    "organic_shopping"
                  ],
                  "title": "best_position_kind",
                  "description": "The kind of top position (or target URL’s, if set): organic, paid, or a SERP feature."
                },
                "best_position_kind_previous": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "enum": [
                    "paid_top",
                    "paid_bottom",
                    "paid_right",
                    "paid_sitelink",
                    "organic",
                    "sitelink",
                    "snippet",
                    "image",
                    "article",
                    "knowledge_card",
                    "knowledge_panel",
                    "local_pack",
                    "local_teaser",
                    "news",
                    "question",
                    "review",
                    "shopping",
                    "tweet",
                    "spelling",
                    "video",
                    "discussion",
                    "ai_overview",
                    "ai_overview_sitelink",
                    "organic_shopping"
                  ],
                  "title": "best_position_kind_previous",
                  "description": "The kind of top position (or target URL’s, if set) on the comparison date."
                },
                "clicks": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "clicks",
                  "description": "Clicks metric refers to the average monthly number of clicks on the search results that people make while searching for the target keyword. Some searches generate clicks on multiple results, while others might not end in any clicks at all."
                },
                "clicks_per_search": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "clicks_per_search",
                  "description": "Clicks Per Search is the ratio of Clicks to Keyword Search volume. It shows how many different search results get clicked, on average, when people search for the target keyword in a given country."
                },
                "cost_per_click": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "cost_per_click",
                  "description": "Cost Per Click shows the average price that advertisers pay for each ad click in paid search results for a keyword."
                },
                "country": {
                  "type": "string",
                  "enum": [
                    "AD",
                    "AE",
                    "AF",
                    "AG",
                    "AI",
                    "AL",
                    "AM",
                    "AO",
                    "AQ",
                    "AR",
                    "AS",
                    "AT",
                    "AU",
                    "AW",
                    "AX",
                    "AZ",
                    "BA",
                    "BB",
                    "BD",
                    "BE",
                    "BF",
                    "BG",
                    "BH",
                    "BI",
                    "BJ",
                    "BL",
                    "BM",
                    "BN",
                    "BO",
                    "BQ",
                    "BR",
                    "BS",
                    "BT",
                    "BV",
                    "BW",
                    "BY",
                    "BZ",
                    "CA",
                    "CC",
                    "CD",
                    "CF",
                    "CG",
                    "CH",
                    "CI",
                    "CK",
                    "CL",
                    "CM",
                    "CN",
                    "CO",
                    "CR",
                    "CU",
                    "CV",
                    "CW",
                    "CX",
                    "CY",
                    "CZ",
                    "DE",
                    "DJ",
                    "DK",
                    "DM",
                    "DO",
                    "DZ",
                    "EC",
                    "EE",
                    "EG",
                    "EH",
                    "ER",
                    "ES",
                    "ET",
                    "FI",
                    "FJ",
                    "FK",
                    "FM",
                    "FO",
                    "FR",
                    "GA",
                    "GB",
                    "GD",
                    "GE",
                    "GF",
                    "GG",
                    "GH",
                    "GI",
                    "GL",
                    "GM",
                    "GN",
                    "GP",
                    "GQ",
                    "GR",
                    "GS",
                    "GT",
                    "GU",
                    "GW",
                    "GY",
                    "HK",
                    "HM",
                    "HN",
                    "HR",
                    "HT",
                    "HU",
                    "ID",
                    "IE",
                    "IL",
                    "IM",
                    "IN",
                    "IO",
                    "IQ",
                    "IR",
                    "IS",
                    "IT",
                    "JE",
                    "JM",
                    "JO",
                    "JP",
                    "KE",
                    "KG",
                    "KH",
                    "KI",
                    "KM",
                    "KN",
                    "KP",
                    "KR",
                    "KW",
                    "KY",
                    "KZ",
                    "LA",
                    "LB",
                    "LC",
                    "LI",
                    "LK",
                    "LR",
                    "LS",
                    "LT",
                    "LU",
                    "LV",
                    "LY",
                    "MA",
                    "MC",
                    "MD",
                    "ME",
                    "MF",
                    "MG",
                    "MH",
                    "MK",
                    "ML",
                    "MM",
                    "MN",
                    "MO",
                    "MP",
                    "MQ",
                    "MR",
                    "MS",
                    "MT",
                    "MU",
                    "MV",
                    "MW",
                    "MX",
                    "MY",
                    "MZ",
                    "NA",
                    "NC",
                    "NE",
                    "NF",
                    "NG",
                    "NI",
                    "NL",
                    "NO",
                    "NP",
                    "NR",
                    "NU",
                    "NZ",
                    "OM",
                    "OTHER",
                    "PA",
                    "PE",
                    "PF",
                    "PG",
                    "PH",
                    "PK",
                    "PL",
                    "PM",
                    "PN",
                    "PR",
                    "PS",
                    "PT",
                    "PW",
                    "PY",
                    "QA",
                    "RE",
                    "RO",
                    "RS",
                    "RU",
                    "RW",
                    "SA",
                    "SB",
                    "SC",
                    "SD",
                    "SE",
                    "SG",
                    "SH",
                    "SI",
                    "SJ",
                    "SK",
                    "SL",
                    "SM",
                    "SN",
                    "SO",
                    "SR",
                    "SS",
                    "ST",
                    "SV",
                    "SX",
                    "SY",
                    "SZ",
                    "TC",
                    "TD",
                    "TF",
                    "TG",
                    "TH",
                    "TJ",
                    "TK",
                    "TL",
                    "TM",
                    "TN",
                    "TO",
                    "TR",
                    "TT",
                    "TV",
                    "TW",
                    "TZ",
                    "UA",
                    "UG",
                    "UM",
                    "US",
                    "UY",
                    "UZ",
                    "VA",
                    "VC",
                    "VE",
                    "VG",
                    "VI",
                    "VN",
                    "VU",
                    "WF",
                    "WS",
                    "YE",
                    "YT",
                    "ZA",
                    "ZM",
                    "ZW"
                  ],
                  "title": "country",
                  "description": "The country that a given keyword is being tracked in. A two-letter country code (ISO 3166-1 alpha-2)."
                },
                "country_prev": {
                  "type": "string",
                  "enum": [
                    "AD",
                    "AE",
                    "AF",
                    "AG",
                    "AI",
                    "AL",
                    "AM",
                    "AO",
                    "AQ",
                    "AR",
                    "AS",
                    "AT",
                    "AU",
                    "AW",
                    "AX",
                    "AZ",
                    "BA",
                    "BB",
                    "BD",
                    "BE",
                    "BF",
                    "BG",
                    "BH",
                    "BI",
                    "BJ",
                    "BL",
                    "BM",
                    "BN",
                    "BO",
                    "BQ",
                    "BR",
                    "BS",
                    "BT",
                    "BV",
                    "BW",
                    "BY",
                    "BZ",
                    "CA",
                    "CC",
                    "CD",
                    "CF",
                    "CG",
                    "CH",
                    "CI",
                    "CK",
                    "CL",
                    "CM",
                    "CN",
                    "CO",
                    "CR",
                    "CU",
                    "CV",
                    "CW",
                    "CX",
                    "CY",
                    "CZ",
                    "DE",
                    "DJ",
                    "DK",
                    "DM",
                    "DO",
                    "DZ",
                    "EC",
                    "EE",
                    "EG",
                    "EH",
                    "ER",
                    "ES",
                    "ET",
                    "FI",
                    "FJ",
                    "FK",
                    "FM",
                    "FO",
                    "FR",
                    "GA",
                    "GB",
                    "GD",
                    "GE",
                    "GF",
                    "GG",
                    "GH",
                    "GI",
                    "GL",
                    "GM",
                    "GN",
                    "GP",
                    "GQ",
                    "GR",
                    "GS",
                    "GT",
                    "GU",
                    "GW",
                    "GY",
                    "HK",
                    "HM",
                    "HN",
                    "HR",
                    "HT",
                    "HU",
                    "ID",
                    "IE",
                    "IL",
                    "IM",
                    "IN",
                    "IO",
                    "IQ",
                    "IR",
                    "IS",
                    "IT",
                    "JE",
                    "JM",
                    "JO",
                    "JP",
                    "KE",
                    "KG",
                    "KH",
                    "KI",
                    "KM",
                    "KN",
                    "KP",
                    "KR",
                    "KW",
                    "KY",
                    "KZ",
                    "LA",
                    "LB",
                    "LC",
                    "LI",
                    "LK",
                    "LR",
                    "LS",
                    "LT",
                    "LU",
                    "LV",
                    "LY",
                    "MA",
                    "MC",
                    "MD",
                    "ME",
                    "MF",
                    "MG",
                    "MH",
                    "MK",
                    "ML",
                    "MM",
                    "MN",
                    "MO",
                    "MP",
                    "MQ",
                    "MR",
                    "MS",
                    "MT",
                    "MU",
                    "MV",
                    "MW",
                    "MX",
                    "MY",
                    "MZ",
                    "NA",
                    "NC",
                    "NE",
                    "NF",
                    "NG",
                    "NI",
                    "NL",
                    "NO",
                    "NP",
                    "NR",
                    "NU",
                    "NZ",
                    "OM",
                    "OTHER",
                    "PA",
                    "PE",
                    "PF",
                    "PG",
                    "PH",
                    "PK",
                    "PL",
                    "PM",
                    "PN",
                    "PR",
                    "PS",
                    "PT",
                    "PW",
                    "PY",
                    "QA",
                    "RE",
                    "RO",
                    "RS",
                    "RU",
                    "RW",
                    "SA",
                    "SB",
                    "SC",
                    "SD",
                    "SE",
                    "SG",
                    "SH",
                    "SI",
                    "SJ",
                    "SK",
                    "SL",
                    "SM",
                    "SN",
                    "SO",
                    "SR",
                    "SS",
                    "ST",
                    "SV",
                    "SX",
                    "SY",
                    "SZ",
                    "TC",
                    "TD",
                    "TF",
                    "TG",
                    "TH",
                    "TJ",
                    "TK",
                    "TL",
                    "TM",
                    "TN",
                    "TO",
                    "TR",
                    "TT",
                    "TV",
                    "TW",
                    "TZ",
                    "UA",
                    "UG",
                    "UM",
                    "US",
                    "UY",
                    "UZ",
                    "VA",
                    "VC",
                    "VE",
                    "VG",
                    "VI",
                    "VN",
                    "VU",
                    "WF",
                    "WS",
                    "YE",
                    "YT",
                    "ZA",
                    "ZM",
                    "ZW"
                  ],
                  "title": "country_prev",
                  "description": "The country that a given keyword is being tracked in on the comparison date. A two-letter country code (ISO 3166-1 alpha-2)."
                },
                "created_at": {
                  "type": "string",
                  "format": "date-time",
                  "title": "created_at",
                  "description": "The date when a keyword was added to the project."
                },
                "is_branded": {
                  "type": "boolean",
                  "title": "is_branded",
                  "description": "User intent: branded. The user is searching for a specific brand or company name."
                },
                "is_commercial": {
                  "type": "boolean",
                  "title": "is_commercial",
                  "description": "User intent: commercial. The user is comparing products or services before making a purchase decision."
                },
                "is_informational": {
                  "type": "boolean",
                  "title": "is_informational",
                  "description": "User intent: informational. The user is looking for information or an answer to a specific question."
                },
                "is_local": {
                  "type": "boolean",
                  "title": "is_local",
                  "description": "User intent: local. The user is looking for information relevant to a specific location or nearby services."
                },
                "is_navigational": {
                  "type": "boolean",
                  "title": "is_navigational",
                  "description": "User intent: navigational. The user is searching for a specific website or web page."
                },
                "is_transactional": {
                  "type": "boolean",
                  "title": "is_transactional",
                  "description": "User intent: transactional. The user is ready to complete an action, often a purchase."
                },
                "keyword": {
                  "type": "string",
                  "title": "keyword",
                  "description": "The keyword your target ranks for."
                },
                "keyword_difficulty": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "keyword_difficulty",
                  "description": "An estimation of how hard it is to rank in the top 10 organic search results for a keyword on a 100-point scale."
                },
                "keyword_has_data": {
                  "type": "boolean",
                  "title": "keyword_has_data",
                  "description": "Will return `false` if the keyword is still processing and no SERP has been fetched yet."
                },
                "keyword_is_frozen": {
                  "type": "boolean",
                  "title": "keyword_is_frozen",
                  "description": "Indicates whether a keyword has exceeded the tracked keywords limit on your plan. Such keywords are \"frozen\", meaning they do not have their rankings updated."
                },
                "keyword_prev": {
                  "type": "string",
                  "title": "keyword_prev",
                  "description": "The keyword your target ranks for on the comparison date."
                },
                "language": {
                  "type": "string",
                  "title": "language",
                  "description": "The SERP language that a given keyword is being tracked for."
                },
                "language_prev": {
                  "type": "string",
                  "title": "language_prev",
                  "description": "The SERP language on the comparison date."
                },
                "location": {
                  "type": "string",
                  "title": "location",
                  "description": "The location (country, state/province, or city) that a given keyword is being tracked in."
                },
                "location_prev": {
                  "type": "string",
                  "title": "location_prev",
                  "description": "The location (country, state/province, or city) that a given keyword is being tracked in on the comparison date."
                },
                "parent_topic": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "parent_topic",
                  "description": "Parent Topic determines if you can rank for your target keyword while targeting a more general topic on your page instead.  To identify the Parent Topic, we take the #1 ranking page for your keyword and find the keyword responsible for sending the most traffic to that page."
                },
                "position": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "position",
                  "description": "The top position (or target URL’s, if set) in organic search."
                },
                "position_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "position_diff",
                  "description": "The change in top position (or target URL’s, if set) between selected dates."
                },
                "position_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "position_prev",
                  "description": "The top position (or target URL’s, if set) on the comparison date."
                },
                "search_type_image": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "search_type_image",
                  "description": "Search type Image shows the percentage of searches for a keyword made for images, highlighting interest in visual content."
                },
                "search_type_news": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "search_type_news",
                  "description": "Search type News shows the percentage of searches for a keyword made for news articles."
                },
                "search_type_video": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "search_type_video",
                  "description": "Search type Video shows the percentage of searches for a keyword made for video, reflecting interest in video content."
                },
                "search_type_web": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "search_type_web",
                  "description": "Search type Web shows the percentage of searches for a keyword made for general web content, indicating interest in a wide range of information."
                },
                "serp_features": {
                  "items": {
                    "type": "string",
                    "enum": [
                      "paid_top",
                      "paid_bottom",
                      "paid_right",
                      "paid_sitelink",
                      "organic",
                      "sitelink",
                      "snippet",
                      "image",
                      "article",
                      "knowledge_card",
                      "knowledge_panel",
                      "local_pack",
                      "local_teaser",
                      "news",
                      "question",
                      "review",
                      "shopping",
                      "tweet",
                      "spelling",
                      "video",
                      "discussion",
                      "ai_overview",
                      "ai_overview_sitelink",
                      "organic_shopping",
                      "image_th",
                      "video_th",
                      "ai_overview_found"
                    ],
                    "title": "serp_features",
                    "description": "The SERP features that appear in search results for a keyword."
                  },
                  "type": "array",
                  "title": "serp_features",
                  "description": "The SERP features that appear in search results for a keyword."
                },
                "serp_features_prev": {
                  "items": {
                    "type": "string",
                    "enum": [
                      "paid_top",
                      "paid_bottom",
                      "paid_right",
                      "paid_sitelink",
                      "organic",
                      "sitelink",
                      "snippet",
                      "image",
                      "article",
                      "knowledge_card",
                      "knowledge_panel",
                      "local_pack",
                      "local_teaser",
                      "news",
                      "question",
                      "review",
                      "shopping",
                      "tweet",
                      "spelling",
                      "video",
                      "discussion",
                      "ai_overview",
                      "ai_overview_sitelink",
                      "organic_shopping",
                      "image_th",
                      "video_th",
                      "ai_overview_found"
                    ],
                    "title": "serp_features_prev",
                    "description": "The SERP features that appear in search results for a keyword on the comparison date."
                  },
                  "type": "array",
                  "title": "serp_features_prev",
                  "description": "The SERP features that appear in search results for a keyword on the comparison date."
                },
                "serp_updated": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time",
                  "title": "serp_updated",
                  "description": "The date when we last checked search engine results for a keyword."
                },
                "serp_updated_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time",
                  "title": "serp_updated_prev",
                  "description": "The date when we checked search engine results up to the comparison date."
                },
                "tags": {
                  "items": {
                    "type": "string",
                    "title": "tags",
                    "description": "A list of tags assigned to a given keyword."
                  },
                  "type": "array",
                  "title": "tags",
                  "description": "A list of tags assigned to a given keyword."
                },
                "tags_prev": {
                  "items": {
                    "type": "string",
                    "title": "tags_prev",
                    "description": "A list of tags assigned to a given keyword on the comparison date."
                  },
                  "type": "array",
                  "title": "tags_prev",
                  "description": "A list of tags assigned to a given keyword on the comparison date."
                },
                "target_positions_count": {
                  "type": "integer",
                  "title": "target_positions_count",
                  "description": "The number of target URLs ranking for a keyword."
                },
                "traffic": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "traffic",
                  "description": "An estimation of the number of monthly visits that a page gets from organic search over the latest month or over the latest known 12 months of data depending on the \"volume_mode\" parameter."
                },
                "traffic_diff": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "traffic_diff",
                  "description": "The change in traffic between your selected dates."
                },
                "traffic_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "traffic_prev",
                  "description": "An estimation of the number of monthly visits that a page gets from organic search over the latest month or over the latest known 12 months of data depending on the \"volume_mode\" parameter."
                },
                "url": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "url",
                  "title": "url",
                  "description": "The top-ranking URL (or target URL, if set) in organic search."
                },
                "url_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "url",
                  "title": "url_prev",
                  "description": "The top-ranking URL (or target URL, if set) on the comparison date."
                },
                "volume": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "volume",
                  "description": "An estimation of the average monthly number of searches for a keyword over the latest month or over the latest known 12 months of data depending on the \"volume_mode\" parameter."
                },
                "volume_desktop_pct": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "volume_desktop_pct",
                  "description": "The percentage of the total search volume that comes from desktop devices."
                },
                "volume_mobile_pct": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "volume_mobile_pct",
                  "description": "The percentage of the total search volume that comes from mobile devices."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "rank-tracker.competitors-overview": {
        "properties": {
          "keywords": {
            "items": {
              "properties": {
                "competitors_list": {
                  "items": {
                    "type": "object",
                    "title": "competitors_list",
                    "description": "Competitors information for a given keyword. The following fields are included: `url`, `url_prev`, `position`, `position_prev`, `best_position_kind`, `best_position_kind_prev`, `traffic`, `traffic_prev`, `value`, `value_prev`. Fields ending in `prev` are included only in the compared view."
                  },
                  "type": "array",
                  "title": "competitors_list",
                  "description": "Competitors information for a given keyword. The following fields are included: `url`, `url_prev`, `position`, `position_prev`, `best_position_kind`, `best_position_kind_prev`, `traffic`, `traffic_prev`, `value`, `value_prev`. Fields ending in `prev` are included only in the compared view."
                },
                "country": {
                  "type": "string",
                  "enum": [
                    "AD",
                    "AE",
                    "AF",
                    "AG",
                    "AI",
                    "AL",
                    "AM",
                    "AO",
                    "AQ",
                    "AR",
                    "AS",
                    "AT",
                    "AU",
                    "AW",
                    "AX",
                    "AZ",
                    "BA",
                    "BB",
                    "BD",
                    "BE",
                    "BF",
                    "BG",
                    "BH",
                    "BI",
                    "BJ",
                    "BL",
                    "BM",
                    "BN",
                    "BO",
                    "BQ",
                    "BR",
                    "BS",
                    "BT",
                    "BV",
                    "BW",
                    "BY",
                    "BZ",
                    "CA",
                    "CC",
                    "CD",
                    "CF",
                    "CG",
                    "CH",
                    "CI",
                    "CK",
                    "CL",
                    "CM",
                    "CN",
                    "CO",
                    "CR",
                    "CU",
                    "CV",
                    "CW",
                    "CX",
                    "CY",
                    "CZ",
                    "DE",
                    "DJ",
                    "DK",
                    "DM",
                    "DO",
                    "DZ",
                    "EC",
                    "EE",
                    "EG",
                    "EH",
                    "ER",
                    "ES",
                    "ET",
                    "FI",
                    "FJ",
                    "FK",
                    "FM",
                    "FO",
                    "FR",
                    "GA",
                    "GB",
                    "GD",
                    "GE",
                    "GF",
                    "GG",
                    "GH",
                    "GI",
                    "GL",
                    "GM",
                    "GN",
                    "GP",
                    "GQ",
                    "GR",
                    "GS",
                    "GT",
                    "GU",
                    "GW",
                    "GY",
                    "HK",
                    "HM",
                    "HN",
                    "HR",
                    "HT",
                    "HU",
                    "ID",
                    "IE",
                    "IL",
                    "IM",
                    "IN",
                    "IO",
                    "IQ",
                    "IR",
                    "IS",
                    "IT",
                    "JE",
                    "JM",
                    "JO",
                    "JP",
                    "KE",
                    "KG",
                    "KH",
                    "KI",
                    "KM",
                    "KN",
                    "KP",
                    "KR",
                    "KW",
                    "KY",
                    "KZ",
                    "LA",
                    "LB",
                    "LC",
                    "LI",
                    "LK",
                    "LR",
                    "LS",
                    "LT",
                    "LU",
                    "LV",
                    "LY",
                    "MA",
                    "MC",
                    "MD",
                    "ME",
                    "MF",
                    "MG",
                    "MH",
                    "MK",
                    "ML",
                    "MM",
                    "MN",
                    "MO",
                    "MP",
                    "MQ",
                    "MR",
                    "MS",
                    "MT",
                    "MU",
                    "MV",
                    "MW",
                    "MX",
                    "MY",
                    "MZ",
                    "NA",
                    "NC",
                    "NE",
                    "NF",
                    "NG",
                    "NI",
                    "NL",
                    "NO",
                    "NP",
                    "NR",
                    "NU",
                    "NZ",
                    "OM",
                    "OTHER",
                    "PA",
                    "PE",
                    "PF",
                    "PG",
                    "PH",
                    "PK",
                    "PL",
                    "PM",
                    "PN",
                    "PR",
                    "PS",
                    "PT",
                    "PW",
                    "PY",
                    "QA",
                    "RE",
                    "RO",
                    "RS",
                    "RU",
                    "RW",
                    "SA",
                    "SB",
                    "SC",
                    "SD",
                    "SE",
                    "SG",
                    "SH",
                    "SI",
                    "SJ",
                    "SK",
                    "SL",
                    "SM",
                    "SN",
                    "SO",
                    "SR",
                    "SS",
                    "ST",
                    "SV",
                    "SX",
                    "SY",
                    "SZ",
                    "TC",
                    "TD",
                    "TF",
                    "TG",
                    "TH",
                    "TJ",
                    "TK",
                    "TL",
                    "TM",
                    "TN",
                    "TO",
                    "TR",
                    "TT",
                    "TV",
                    "TW",
                    "TZ",
                    "UA",
                    "UG",
                    "UM",
                    "US",
                    "UY",
                    "UZ",
                    "VA",
                    "VC",
                    "VE",
                    "VG",
                    "VI",
                    "VN",
                    "VU",
                    "WF",
                    "WS",
                    "YE",
                    "YT",
                    "ZA",
                    "ZM",
                    "ZW"
                  ],
                  "title": "country",
                  "description": "The country that a given keyword is being tracked in. A two-letter country code (ISO 3166-1 alpha-2)."
                },
                "keyword": {
                  "type": "string",
                  "title": "keyword",
                  "description": "The keyword your target ranks for."
                },
                "keyword_difficulty": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "keyword_difficulty",
                  "description": "An estimation of how hard it is to rank in the top 10 organic search results for a keyword on a 100-point scale."
                },
                "keyword_has_data": {
                  "type": "boolean",
                  "title": "keyword_has_data",
                  "description": "Will return `false` if the keyword is still processing and no SERP has been fetched yet."
                },
                "keyword_is_frozen": {
                  "type": "boolean",
                  "title": "keyword_is_frozen",
                  "description": "Indicates whether a keyword has exceeded the tracked keywords limit on your plan. Such keywords are \"frozen\", meaning they do not have their rankings updated."
                },
                "language": {
                  "type": "string",
                  "title": "language",
                  "description": "The SERP language that a given keyword is being tracked for."
                },
                "location": {
                  "type": "string",
                  "title": "location",
                  "description": "The location (country, state/province, or city) that a given keyword is being tracked in."
                },
                "serp_features": {
                  "items": {
                    "type": "string",
                    "enum": [
                      "paid_top",
                      "paid_bottom",
                      "paid_right",
                      "paid_sitelink",
                      "organic",
                      "sitelink",
                      "snippet",
                      "image",
                      "article",
                      "knowledge_card",
                      "knowledge_panel",
                      "local_pack",
                      "local_teaser",
                      "news",
                      "question",
                      "review",
                      "shopping",
                      "tweet",
                      "spelling",
                      "video",
                      "discussion",
                      "ai_overview",
                      "ai_overview_sitelink",
                      "organic_shopping",
                      "image_th",
                      "video_th",
                      "ai_overview_found"
                    ],
                    "title": "serp_features",
                    "description": "The SERP features that appear in search results for a keyword."
                  },
                  "type": "array",
                  "title": "serp_features",
                  "description": "The SERP features that appear in search results for a keyword."
                },
                "serp_updated": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time",
                  "title": "serp_updated",
                  "description": "The date when we last checked search engine results for a keyword."
                },
                "serp_updated_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "date-time",
                  "title": "serp_updated_prev",
                  "description": "The date when we checked search engine results up to the comparison date."
                },
                "tags": {
                  "items": {
                    "type": "string",
                    "title": "tags",
                    "description": "A list of tags assigned to a given keyword."
                  },
                  "type": "array",
                  "title": "tags",
                  "description": "A list of tags assigned to a given keyword."
                },
                "volume": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "volume",
                  "description": "An estimation of the average monthly number of searches for a keyword over the latest month or over the latest known 12 months of data depending on the \"volume_mode\" parameter."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "rank-tracker.competitors-pages": {
        "properties": {
          "competitors-pages": {
            "items": {
              "properties": {
                "keywords": {
                  "type": "integer",
                  "title": "keywords",
                  "description": "The total number of keywords that your target ranks for in the top 100 organic search results."
                },
                "share_of_traffic_value": {
                  "type": "number",
                  "format": "float",
                  "title": "share_of_traffic_value",
                  "description": "The share of your target's organic search traffic value compared to the total organic search traffic value for all tracked keywords."
                },
                "share_of_traffic_value_prev": {
                  "type": "number",
                  "format": "float",
                  "title": "share_of_traffic_value_prev",
                  "description": "The share of traffic value on the comparison date."
                },
                "share_of_voice": {
                  "type": "number",
                  "format": "float",
                  "title": "share_of_voice",
                  "description": "The share of your target's organic search traffic compared to the total organic search traffic for all tracked keywords."
                },
                "share_of_voice_prev": {
                  "type": "number",
                  "format": "float",
                  "title": "share_of_voice_prev",
                  "description": "The share of voice on the comparison date."
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "left",
                    "right",
                    "both"
                  ],
                  "title": "status",
                  "description": "The status of a page: the new page that just started to rank (\"left\"), the lost page that disappeared from search results (\"right\"), or no change (\"both\")."
                },
                "title": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "title",
                  "description": "The title displayed for the page in its top keyword's SERP."
                },
                "title_prev": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "title_prev",
                  "description": "The title on the comparison date."
                },
                "traffic": {
                  "type": "integer",
                  "title": "traffic",
                  "description": "An estimation of the number of monthly visits that a page gets from organic search."
                },
                "traffic_prev": {
                  "type": "integer",
                  "title": "traffic_prev",
                  "description": "The traffic on the comparison date."
                },
                "traffic_value": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "traffic_value",
                  "description": "The estimated value of a page’s monthly organic search traffic, in USD cents."
                },
                "traffic_value_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "traffic_value_prev",
                  "description": "The traffic value on the comparison date."
                },
                "url": {
                  "type": "string",
                  "format": "url",
                  "title": "url",
                  "description": "The page URL."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "rank-tracker.competitors-domains": {
        "properties": {
          "competitors-domains": {
            "items": {
              "properties": {
                "domain": {
                  "type": "string",
                  "format": "domain",
                  "title": "domain",
                  "description": "The page domain."
                },
                "keywords": {
                  "type": "integer",
                  "title": "keywords",
                  "description": "The total number of keywords that your target ranks for in the top 100 organic search results."
                },
                "pages": {
                  "type": "integer",
                  "title": "pages",
                  "description": "The total number of pages from this domain ranking for the project's tracked keywords."
                },
                "share_of_traffic_value": {
                  "type": "number",
                  "format": "float",
                  "title": "share_of_traffic_value",
                  "description": "The share of your target's organic search traffic value compared to the total organic search traffic value for all tracked keywords."
                },
                "share_of_traffic_value_prev": {
                  "type": "number",
                  "format": "float",
                  "title": "share_of_traffic_value_prev",
                  "description": "The share of traffic value on the comparison date."
                },
                "share_of_voice": {
                  "type": "number",
                  "format": "float",
                  "title": "share_of_voice",
                  "description": "The share of your target's organic search traffic compared to the total organic search traffic for all tracked keywords."
                },
                "share_of_voice_prev": {
                  "type": "number",
                  "format": "float",
                  "title": "share_of_voice_prev",
                  "description": "The share of voice on the comparison date."
                },
                "status": {
                  "type": "string",
                  "enum": [
                    "left",
                    "right",
                    "both"
                  ],
                  "title": "status",
                  "description": "The status of a page: the new page that just started to rank (\"left\"), the lost page that disappeared from search results (\"right\"), or no change (\"both\")."
                },
                "traffic": {
                  "type": "integer",
                  "title": "traffic",
                  "description": "An estimation of the number of monthly visits that a page gets from organic search."
                },
                "traffic_prev": {
                  "type": "integer",
                  "title": "traffic_prev",
                  "description": "The traffic on the comparison date."
                },
                "traffic_value": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "traffic_value",
                  "description": "The estimated value of a page’s monthly organic search traffic, in USD cents."
                },
                "traffic_value_prev": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "traffic_value_prev",
                  "description": "The traffic value on the comparison date."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "rank-tracker.serp-overview": {
        "properties": {
          "positions": {
            "items": {
              "properties": {
                "ahrefs_rank": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "ahrefs_rank",
                  "description": "The strength of a domain's backlink profile compared to the other websites in our database, with rank #1 being the strongest."
                },
                "backlinks": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "backlinks",
                  "description": "The total number of links from other websites pointing to a search result."
                },
                "domain_rating": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "domain_rating",
                  "description": "The strength of a domain’s backlink profile compared to the others in our database on a 100-point scale."
                },
                "keywords": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "keywords",
                  "description": "The total number of keywords that a search result ranks for in the top 100 organic positions."
                },
                "nr_words": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "nr_words",
                  "description": "The total number of words present in the HTML of a web page."
                },
                "page_type": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "page_type",
                  "description": "Comma-separated list of AI-predicted hierarchical page type paths for the ranking page. Each value is a slash-prefixed path (e.g. /Article/How_to)."
                },
                "position": {
                  "type": "integer",
                  "title": "position",
                  "description": "The position of the search result in SERP."
                },
                "refdomains": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "refdomains",
                  "description": "The total number of unique domains linking to a search result."
                },
                "title": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "title",
                  "description": "The title of a ranking page."
                },
                "top_keyword": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "top_keyword",
                  "description": "The keyword that brings the most organic traffic to a search result."
                },
                "top_keyword_volume": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "top_keyword_volume",
                  "description": "An estimation of the average monthly number of searches for the top keyword over the latest known 12 months of data."
                },
                "traffic": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "traffic",
                  "description": "An estimation of the monthly organic search traffic that a result gets from all the keywords that it ranks for."
                },
                "type": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "type",
                  "description": "The kind of the position: organic, paid, or a SERP feature. Allowed values: `ai_overview`, `ai_overview_sitelink`, `discussion`, `image`, `image_th`, `knowledge_card`, `knowledge_panel`, `local_pack`, `organic`, `organic_shopping`, `paid_top`, `paid_bottom`, `paid_right`, `question`, `sitelink`, `snippet`, `top_story`, `tweet`, `video`, `video_th`. "
                },
                "update_date": {
                  "type": "string",
                  "format": "date",
                  "title": "update_date",
                  "description": "The date when we checked search engine results for a keyword."
                },
                "url": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "url",
                  "title": "url",
                  "description": "The URL of a ranking page."
                },
                "url_rating": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "url_rating",
                  "description": "The strength of a page's backlink profile on a 100-point logarithmic scale."
                },
                "value": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "value",
                  "description": "The estimated value of a page’s monthly organic search traffic, in USD cents."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "rank-tracker.competitors-stats": {
        "properties": {
          "competitors-metrics": {
            "items": {
              "properties": {
                "ai_overview_count": {
                  "type": "integer",
                  "title": "ai_overview_count",
                  "description": "The total number of tracked keywords for which your target ranks in an AI Overview."
                },
                "average_position": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "average_position",
                  "description": "The average of your target's top organic positions across all tracked keywords."
                },
                "competitor": {
                  "type": "string",
                  "title": "competitor",
                  "description": "Competitor's URL."
                },
                "discussions_count": {
                  "type": "integer",
                  "title": "discussions_count",
                  "description": "The total number of tracked keywords for which your target ranks in Discussions and forums."
                },
                "featured_snippet_count": {
                  "type": "integer",
                  "title": "featured_snippet_count",
                  "description": "The total number of tracked keywords for which your target ranks in a Featured snippet."
                },
                "image_pack_count": {
                  "type": "integer",
                  "title": "image_pack_count",
                  "description": "The total number of tracked keywords for which your target ranks in an Image pack."
                },
                "knowledge_card_count": {
                  "type": "integer",
                  "title": "knowledge_card_count",
                  "description": "The total number of tracked keywords for which your target ranks in a Knowledge card."
                },
                "knowledge_panel_count": {
                  "type": "integer",
                  "title": "knowledge_panel_count",
                  "description": "The total number of tracked keywords for which your target ranks in a Knowledge panel."
                },
                "pos_11_20": {
                  "type": "integer",
                  "title": "pos_11_20",
                  "description": "The total number of tracked keywords for which your target's top organic position is within the 11th to 20th results."
                },
                "pos_1_3": {
                  "type": "integer",
                  "title": "pos_1_3",
                  "description": "The total number of tracked keywords for which your target's top organic position is within the top 3 results."
                },
                "pos_21_50": {
                  "type": "integer",
                  "title": "pos_21_50",
                  "description": "The total number of tracked keywords for which your target's top organic position is within the 21st to 50th results."
                },
                "pos_4_10": {
                  "type": "integer",
                  "title": "pos_4_10",
                  "description": "The total number of tracked keywords for which your target's top organic position is within the 4th to 10th results."
                },
                "pos_51_plus": {
                  "type": "integer",
                  "title": "pos_51_plus",
                  "description": "The total number of tracked keywords for which your target's top organic position is the 51st or higher."
                },
                "pos_no_rank": {
                  "type": "integer",
                  "title": "pos_no_rank",
                  "description": "The total number of tracked keywords where your target doesn't rank."
                },
                "share_of_traffic_value": {
                  "type": "number",
                  "format": "float",
                  "title": "share_of_traffic_value",
                  "description": "The share of your target's organic search traffic value compared to the total organic search traffic value for all tracked keywords."
                },
                "share_of_voice": {
                  "type": "number",
                  "format": "float",
                  "title": "share_of_voice",
                  "description": "The share of your target's organic search traffic compared to the total organic search traffic for all tracked keywords."
                },
                "sitelinks_count": {
                  "type": "integer",
                  "title": "sitelinks_count",
                  "description": "The total number of tracked keywords for which your target ranks in Sitelinks."
                },
                "thumbnail_count": {
                  "type": "integer",
                  "title": "thumbnail_count",
                  "description": "The total number of tracked keywords for which your target ranks in a Thumbnail."
                },
                "top_stories_count": {
                  "type": "integer",
                  "title": "top_stories_count",
                  "description": "The total number of tracked keywords for which your target ranks in Top stories."
                },
                "traffic": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "traffic",
                  "description": "The estimated number of monthly visits that your target gets from organic search for all tracked keywords."
                },
                "traffic_value": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "traffic_value",
                  "description": "The estimated value of your target's monthly organic search traffic for all tracked keywords."
                },
                "video_preview_count": {
                  "type": "integer",
                  "title": "video_preview_count",
                  "description": "The total number of tracked keywords for which your target ranks in a Video preview."
                },
                "videos_count": {
                  "type": "integer",
                  "title": "videos_count",
                  "description": "The total number of tracked keywords for which your target ranks in Videos."
                },
                "x_count": {
                  "type": "integer",
                  "title": "x_count",
                  "description": "The total number of tracked keywords for which your target ranks in an X (Twitter) widget."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "serp-overview.Error response": {
        "properties": {
          "error": {
            "type": "string"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "serp-overview.serp-overview": {
        "properties": {
          "positions": {
            "items": {
              "properties": {
                "ahrefs_rank": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "ahrefs_rank",
                  "description": "The strength of a domain's backlink profile compared to the other websites in our database, with rank #1 being the strongest."
                },
                "backlinks": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "backlinks",
                  "description": "The total number of links from other websites pointing to a search result."
                },
                "domain_rating": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "domain_rating",
                  "description": "The strength of a domain’s backlink profile compared to the others in our database on a 100-point scale."
                },
                "keywords": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "keywords",
                  "description": "The total number of keywords that a search result ranks for in the top 100 organic positions."
                },
                "page_type": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "page_type",
                  "description": "Comma-separated list of AI-predicted hierarchical page type paths for the ranking page. Each value is a slash-prefixed path (e.g. /Article/How_to)."
                },
                "position": {
                  "type": "integer",
                  "title": "position",
                  "description": "The position of the search result in SERP."
                },
                "refdomains": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "refdomains",
                  "description": "(5 units) The total number of unique domains linking to a search result."
                },
                "title": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "title",
                  "description": "The title of a ranking page."
                },
                "top_keyword": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "top_keyword",
                  "description": "The keyword that brings the most organic traffic to a search result."
                },
                "top_keyword_volume": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "top_keyword_volume",
                  "description": "(10 units) An estimation of the average monthly number of searches for the top keyword over the latest known 12 months of data."
                },
                "traffic": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "traffic",
                  "description": "(10 units) An estimation of the monthly organic search traffic that a result gets from all the keywords that it ranks for."
                },
                "type": {
                  "items": {
                    "type": "string",
                    "enum": [
                      "paid_top",
                      "paid_bottom",
                      "paid_right",
                      "paid_sitelink",
                      "organic",
                      "sitelink",
                      "snippet",
                      "image",
                      "article",
                      "knowledge_card",
                      "knowledge_panel",
                      "local_pack",
                      "local_teaser",
                      "news",
                      "question",
                      "review",
                      "shopping",
                      "tweet",
                      "spelling",
                      "video",
                      "discussion",
                      "ai_overview",
                      "ai_overview_sitelink",
                      "organic_shopping",
                      "image_th",
                      "video_th",
                      "ai_overview_found"
                    ],
                    "title": "type",
                    "description": "The kind of the position: organic, paid, or a SERP feature."
                  },
                  "type": "array",
                  "title": "type",
                  "description": "The kind of the position: organic, paid, or a SERP feature."
                },
                "update_date": {
                  "type": "string",
                  "format": "date-time",
                  "title": "update_date",
                  "description": "The date when we checked search engine results for a keyword."
                },
                "url": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "url",
                  "description": "The URL of a ranking page."
                },
                "url_rating": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "url_rating",
                  "description": "The strength of a page's backlink profile on a 100-point logarithmic scale."
                },
                "value": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "value",
                  "description": "(10 units) The estimated value of a page’s monthly organic search traffic, in USD cents."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "batch-analysis.Error response": {
        "properties": {
          "error": {
            "type": "string"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "batch-analysis.batch-analysis": {
        "properties": {
          "targets": {
            "items": {
              "properties": {
                "ahrefs_rank": {
                  "type": "integer",
                  "title": "ahrefs_rank",
                  "description": "The strength of your target's backlink profile compared to the other websites in our database, with rank #1 being the strongest."
                },
                "backlinks": {
                  "type": "integer",
                  "title": "backlinks",
                  "description": "The total number of links from other websites pointing to your target."
                },
                "backlinks_dofollow": {
                  "type": "integer",
                  "title": "backlinks_dofollow",
                  "description": "Links to your target that do not contain a “nofollow”, “ugc”, or “sponsored” value in their “rel” attribute. These links are also called “dofollow”."
                },
                "backlinks_internal": {
                  "type": "integer",
                  "title": "backlinks_internal",
                  "description": "The total number of internal links pointing to the target's pages."
                },
                "backlinks_nofollow": {
                  "type": "integer",
                  "title": "backlinks_nofollow",
                  "description": "Links to your target that contain a “nofollow”, “ugc”, or “sponsored” value in their “rel” attribute."
                },
                "backlinks_redirect": {
                  "type": "integer",
                  "title": "backlinks_redirect",
                  "description": "Links pointing to your target via a redirect."
                },
                "domain_rating": {
                  "type": "number",
                  "format": "float",
                  "title": "domain_rating",
                  "description": "The strength of your target's backlink profile compared to the other websites in our database on a 100-point logarithmic scale."
                },
                "index": {
                  "type": "integer",
                  "title": "index",
                  "description": "Target index number."
                },
                "ip": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "ip",
                  "description": "The IP address of the target."
                },
                "linked_domains": {
                  "type": "integer",
                  "title": "linked_domains",
                  "description": "The number of unique domains linked from your target."
                },
                "linked_domains_dofollow": {
                  "type": "integer",
                  "title": "linked_domains_dofollow",
                  "description": "The number of unique domains linked from your target with followed links."
                },
                "mode": {
                  "type": "string",
                  "title": "mode",
                  "description": "The target mode used for the analysis. Depending on the selected mode (Exact URL, Path, Domain, Subdomains), different parts of the website will be analyzed."
                },
                "org_cost": {
                  "type": "integer",
                  "title": "org_cost",
                  "description": "(10 units) The estimated value of your target’s monthly organic search traffic."
                },
                "org_keywords": {
                  "type": "integer",
                  "title": "org_keywords",
                  "description": "The total number of keywords that your target ranks for in the top 100 organic search results. When ranking for the same keyword across different locations in “All locations” mode, it's still counted as one keyword."
                },
                "org_keywords_11_20": {
                  "type": "integer",
                  "title": "org_keywords_11_20",
                  "description": "The total number of unique keywords for which your target's top organic ranking position is within the 11th to 20th results. When ranking for the same keyword across different locations in “All locations” mode, it's still counted as one keyword."
                },
                "org_keywords_1_3": {
                  "type": "integer",
                  "title": "org_keywords_1_3",
                  "description": "The total number of unique keywords for which your target's top organic ranking position is within the top 3 results. When ranking for the same keyword across different locations in “All locations” mode, it's still counted as one keyword."
                },
                "org_keywords_21_50": {
                  "type": "integer",
                  "title": "org_keywords_21_50",
                  "description": "The total number of unique keywords for which your target's top organic ranking position is within the 21st to 50th results. When ranking for the same keyword across different locations in “All locations” mode, it's still counted as one keyword."
                },
                "org_keywords_4_10": {
                  "type": "integer",
                  "title": "org_keywords_4_10",
                  "description": "The total number of unique keywords for which your target's top organic ranking position is within the 4th to 10th results. When ranking for the same keyword across different locations in “All locations” mode, it's still counted as one keyword."
                },
                "org_keywords_51_plus": {
                  "type": "integer",
                  "title": "org_keywords_51_plus",
                  "description": "The total number of unique keywords for which your target's top organic ranking position is the 51st result or higher. When ranking for the same keyword across different locations in “All locations” mode, it's still counted as one keyword."
                },
                "org_traffic": {
                  "type": "integer",
                  "title": "org_traffic",
                  "description": "(10 units) The estimated number of monthly visits that your target gets from organic search."
                },
                "org_traffic_top_by_country": {
                  "items": {
                    "items": false,
                    "prefixItems": [
                      {
                        "type": "string"
                      },
                      {
                        "type": "integer"
                      }
                    ],
                    "type": "array",
                    "maxItems": 2,
                    "minItems": 2
                  },
                  "type": "array",
                  "title": "org_traffic_top_by_country",
                  "description": "(10 units) Top countries by traffic with corresponding traffic values. (Currently only a single element is being returned with the country with the most traffic.)"
                },
                "outgoing_links": {
                  "type": "integer",
                  "title": "outgoing_links",
                  "description": "The total number of links from your target to other domains."
                },
                "outgoing_links_dofollow": {
                  "type": "integer",
                  "title": "outgoing_links_dofollow",
                  "description": "The total number of followed links from your target to other domains."
                },
                "paid_ads": {
                  "type": "integer",
                  "title": "paid_ads",
                  "description": "The total number of unique ads of a target website or URL in paid search results."
                },
                "paid_cost": {
                  "type": "integer",
                  "title": "paid_cost",
                  "description": "(10 units) The estimated cost of your target’s monthly paid search traffic."
                },
                "paid_keywords": {
                  "type": "integer",
                  "title": "paid_keywords",
                  "description": "The total number of keywords that your target ranks for in paid search results. When ranking for the same keyword across different locations in “All locations” mode, it's still counted as one keyword."
                },
                "paid_traffic": {
                  "type": "integer",
                  "title": "paid_traffic",
                  "description": "(10 units) The estimated number of monthly visits that your target gets from paid search."
                },
                "protocol": {
                  "type": "string",
                  "title": "protocol",
                  "description": "The protocol of the target. Possible values: `both`, `http`, `https`."
                },
                "refdomains": {
                  "type": "integer",
                  "title": "refdomains",
                  "description": "(5 units) The total number of unique domains linking to your target."
                },
                "refdomains_dofollow": {
                  "type": "integer",
                  "title": "refdomains_dofollow",
                  "description": "(5 units) The number of unique domains with links to your target that do not contain a “nofollow”, “ugc”, or “sponsored” value in their “rel” attribute. These links are also called “dofollow”."
                },
                "refdomains_nofollow": {
                  "type": "integer",
                  "title": "refdomains_nofollow",
                  "description": "(5 units) The number of unique domains that only have links to your target containing a “nofollow”, “ugc”, or “sponsored” value in their “rel” attribute."
                },
                "refips": {
                  "type": "integer",
                  "title": "refips",
                  "description": "The number of unique IP addresses with at least one domain pointing to your target. Several domains can share one IP address."
                },
                "refips_subnets": {
                  "type": "integer",
                  "title": "refips_subnets",
                  "description": "The number of c-class IP networks (AAA.BBB.CCC.DDD) with at least one link to your target. Example: 151.80.39.61 is the website IP address where 151.80.39.XXX is the subnet."
                },
                "url": {
                  "type": "string",
                  "format": "url",
                  "title": "url",
                  "description": "The URL of the analyzed target."
                },
                "url_rating": {
                  "type": "number",
                  "format": "float",
                  "title": "url_rating",
                  "description": "URL Rating (UR) shows the strength of your target page's backlink profile on a 100-point logarithmic scale. If you analyze a domain, the homepage's UR is shown. "
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "batch-analysis.target": {
        "properties": {
          "url": {
            "type": "string",
            "description": "The URL of the analyzed target.",
            "examples": [
              "https://www.ahrefs.com"
            ]
          },
          "mode": {
            "type": "string",
            "enum": [
              "exact",
              "prefix",
              "domain",
              "subdomains"
            ],
            "description": "The target mode used for the analysis."
          },
          "protocol": {
            "type": "string",
            "enum": [
              "both",
              "http",
              "https"
            ],
            "description": "The protocol of the target."
          }
        },
        "type": "object",
        "required": [
          "url",
          "mode",
          "protocol"
        ]
      },
      "subscription-info.Error response": {
        "properties": {
          "error": {
            "type": "string"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "subscription-info.limits-and-usage": {
        "properties": {
          "limits_and_usage": {
            "properties": {
              "api_key_expiration_date": {
                "type": "string",
                "format": "date-time",
                "title": "api_key_expiration_date",
                "description": "Date on which this API key will expire and stop working."
              },
              "subscription": {
                "type": "string",
                "title": "subscription",
                "description": "Ahrefs subscription plan."
              },
              "units_limit_api_key": {
                "type": [
                  "integer",
                  "null"
                ],
                "title": "units_limit_api_key",
                "description": "Limit for the number of API units that can be consumed via this API key per billing month (null = unlimited)."
              },
              "units_limit_workspace": {
                "type": [
                  "integer",
                  "null"
                ],
                "title": "units_limit_workspace",
                "description": "Total number of API units available to the workspace."
              },
              "units_usage_api_key": {
                "type": "integer",
                "title": "units_usage_api_key",
                "description": "Number of API units consumed by this API key in the current billing month."
              },
              "units_usage_workspace": {
                "type": [
                  "integer",
                  "null"
                ],
                "title": "units_usage_workspace",
                "description": "Number of API units consumed by the workspace in the current billing month."
              },
              "usage_reset_date": {
                "type": "string",
                "format": "date",
                "title": "usage_reset_date",
                "description": "Start date of the next billing period when the API units usage will be reset."
              }
            },
            "type": "object"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "management.Error response": {
        "properties": {
          "error": {
            "type": "string"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "management.projects": {
        "properties": {
          "projects": {
            "items": {
              "properties": {
                "access": {
                  "type": "string",
                  "title": "access",
                  "description": "The access level of the project. Possible values: `private`, `shared`."
                },
                "folder": {
                  "properties": {
                    "id": {
                      "type": "integer"
                    },
                    "name": {
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ],
                  "title": "folder",
                  "description": "Innermost folder that the project is in."
                },
                "keyword_count": {
                  "type": "integer",
                  "title": "keyword_count",
                  "description": "The number of keywords in the project."
                },
                "mode": {
                  "type": "string",
                  "title": "mode",
                  "description": "The scope of the target. Possible values: `exact`, `prefix`, `domain`, `subdomains`."
                },
                "owned_by": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "owned_by",
                  "description": "The email of the project owner."
                },
                "project_id": {
                  "type": "string",
                  "title": "project_id",
                  "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#`."
                },
                "project_name": {
                  "type": "string",
                  "title": "project_name",
                  "description": "The project name."
                },
                "protocol": {
                  "type": "string",
                  "title": "protocol",
                  "description": "The protocol of the target. Possible values: `both`, `http`, `https`."
                },
                "url": {
                  "type": "string",
                  "format": "url",
                  "title": "url",
                  "description": "The URL of the project's target."
                },
                "verified": {
                  "type": "boolean",
                  "title": "verified",
                  "description": "Whether the project is verified."
                },
                "web_analytics_data_key": {
                  "type": "string",
                  "title": "web_analytics_data_key",
                  "description": "Web Analytics Data Key."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "management.update-project": {
        "properties": {
          "project": {
            "properties": {
              "access": {
                "type": "string",
                "title": "access",
                "description": "The access level of the project. Possible values: `private`, `shared`."
              },
              "mode": {
                "type": "string",
                "title": "mode",
                "description": "The scope of the target. Possible values: `exact`, `prefix`, `domain`, `subdomains`."
              },
              "project_id": {
                "type": "string",
                "title": "project_id",
                "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#`."
              },
              "project_name": {
                "type": "string",
                "title": "project_name",
                "description": "The project name."
              },
              "protocol": {
                "type": "string",
                "title": "protocol",
                "description": "The protocol of the target. Possible values: `both`, `http`, `https`."
              },
              "url": {
                "type": "string",
                "format": "url",
                "title": "url",
                "description": "The URL of the project's target."
              }
            },
            "type": "object"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "management.project-keywords": {
        "properties": {
          "keywords": {
            "items": {
              "properties": {
                "keyword": {
                  "type": "string",
                  "title": "keyword",
                  "description": "The keyword added to the project."
                },
                "language": {
                  "type": "string",
                  "title": "language",
                  "description": "The name of the language assigned to a given keyword."
                },
                "language_code": {
                  "type": "string",
                  "title": "language_code",
                  "description": "The code of the language assigned to a given keyword."
                },
                "location": {
                  "type": "string",
                  "title": "location",
                  "description": "The name of the location assigned to a given keyword."
                },
                "location_id": {
                  "type": "integer",
                  "title": "location_id",
                  "description": "The ID of the location assigned to a given keyword."
                },
                "tags": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "tags",
                  "description": "A list of tags assigned to a given keyword."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "management.project-keywords-delete": {
        "properties": {
          "keywords": {
            "items": {
              "properties": {
                "keyword": {
                  "type": "string",
                  "title": "keyword",
                  "description": "The keyword added to the project."
                },
                "language": {
                  "type": "string",
                  "title": "language",
                  "description": "The name of the language assigned to a given keyword."
                },
                "language_code": {
                  "type": "string",
                  "title": "language_code",
                  "description": "The code of the language assigned to a given keyword."
                },
                "location": {
                  "type": "string",
                  "title": "location",
                  "description": "The name of the location assigned to a given keyword."
                },
                "location_id": {
                  "type": "integer",
                  "title": "location_id",
                  "description": "The ID of the location assigned to a given keyword."
                },
                "tags": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "tags",
                  "description": "A list of tags assigned to a given keyword."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "management.project-keywords-tags": {
        "properties": {
          "keywords": {
            "items": {
              "properties": {
                "keyword": {
                  "type": "string",
                  "title": "keyword",
                  "description": "The keyword added to the project."
                },
                "language": {
                  "type": "string",
                  "title": "language",
                  "description": "The name of the language assigned to a given keyword."
                },
                "language_code": {
                  "type": "string",
                  "title": "language_code",
                  "description": "The code of the language assigned to a given keyword."
                },
                "location": {
                  "type": "string",
                  "title": "location",
                  "description": "The name of the location assigned to a given keyword."
                },
                "location_id": {
                  "type": "integer",
                  "title": "location_id",
                  "description": "The ID of the location assigned to a given keyword."
                },
                "tags": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "tags",
                  "description": "A list of tags assigned to a given keyword."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "management.project-keywords-tags-delete": {
        "properties": {
          "keywords": {
            "items": {
              "properties": {
                "keyword": {
                  "type": "string",
                  "title": "keyword",
                  "description": "The keyword added to the project."
                },
                "language": {
                  "type": "string",
                  "title": "language",
                  "description": "The name of the language assigned to a given keyword."
                },
                "language_code": {
                  "type": "string",
                  "title": "language_code",
                  "description": "The code of the language assigned to a given keyword."
                },
                "location": {
                  "type": "string",
                  "title": "location",
                  "description": "The name of the location assigned to a given keyword."
                },
                "location_id": {
                  "type": "integer",
                  "title": "location_id",
                  "description": "The ID of the location assigned to a given keyword."
                },
                "tags": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "tags",
                  "description": "A list of tags assigned to a given keyword."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "management.keyword-list-keywords": {
        "properties": {
          "keywords": {
            "items": {
              "properties": {
                "keyword": {
                  "type": "string",
                  "title": "keyword",
                  "description": "The keyword added to the project."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "management.keyword-list-keywords-delete": {
        "properties": {
          "keywords": {
            "items": {
              "properties": {
                "keyword": {
                  "type": "string",
                  "title": "keyword",
                  "description": "The keyword added to the project."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "management.project-competitors": {
        "properties": {
          "competitors": {
            "items": {
              "properties": {
                "mode": {
                  "type": "string",
                  "title": "mode",
                  "description": "The scope of the target. Possible values: `exact`, `prefix`, `domain`, `subdomains`."
                },
                "url": {
                  "type": "string",
                  "format": "url",
                  "title": "url",
                  "description": "The URL of the project's target."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "management.project-competitors-delete": {
        "properties": {
          "competitors": {
            "items": {
              "properties": {
                "mode": {
                  "type": "string",
                  "title": "mode",
                  "description": "The scope of the target. Possible values: `exact`, `prefix`, `domain`, `subdomains`."
                },
                "url": {
                  "type": "string",
                  "format": "url",
                  "title": "url",
                  "description": "The URL of the project's target."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "management.locations": {
        "properties": {
          "location": {
            "properties": {
              "country_code": {
                "type": "string",
                "title": "country_code",
                "description": "The country code of the location."
              },
              "languages": {
                "items": {
                  "items": false,
                  "prefixItems": [
                    {
                      "type": "string"
                    },
                    {
                      "type": "string"
                    }
                  ],
                  "type": "array",
                  "maxItems": 2,
                  "minItems": 2
                },
                "type": "array",
                "title": "languages",
                "description": "A list of language codes and names for the specified country code."
              },
              "locations": {
                "items": {
                  "items": false,
                  "prefixItems": [
                    {
                      "type": "integer"
                    },
                    {
                      "type": "string"
                    }
                  ],
                  "type": "array",
                  "maxItems": 2,
                  "minItems": 2
                },
                "type": "array",
                "title": "locations",
                "description": "A list of location IDs and names for the specified country code."
              }
            },
            "type": "object"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "management.brand-radar-prompts": {
        "properties": {
          "prompts": {
            "items": {
              "properties": {
                "country": {
                  "type": "string",
                  "title": "country",
                  "description": "The country of the prompt."
                },
                "created_at": {
                  "type": "string",
                  "format": "date",
                  "title": "created_at",
                  "description": "The date the prompt was created."
                },
                "prompt": {
                  "type": "string",
                  "title": "prompt",
                  "description": "The text of the prompt."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "management.brand-radar-prompts-delete": {
        "properties": {
          "prompts": {
            "items": {
              "properties": {
                "country": {
                  "type": "string",
                  "title": "country",
                  "description": "The country of the prompt."
                },
                "created_at": {
                  "type": "string",
                  "format": "date",
                  "title": "created_at",
                  "description": "The date the prompt was created."
                },
                "prompt": {
                  "type": "string",
                  "title": "prompt",
                  "description": "The text of the prompt."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "management.brand-radar-reports": {
        "properties": {
          "reports": {
            "items": {
              "properties": {
                "created_at": {
                  "type": "string",
                  "format": "date",
                  "title": "created_at",
                  "description": "The date the report was created."
                },
                "project_id": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "project_id",
                  "description": "The ID of the project the report is linked to."
                },
                "prompts_frequency": {
                  "items": {
                    "properties": {
                      "data_source": {
                        "type": "string"
                      },
                      "frequency": {
                        "type": "string"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array",
                  "title": "prompts_frequency",
                  "description": "A record with fields `data_source` (possible values: `chatgpt`, `copilot`, `gemini`, `google_ai_mode`, `claude`, `google_ai_overviews`, `grok`, `perplexity`) and `frequency` (possible values: `daily`, `weekly`, `monthly`, `off`)."
                },
                "report_id": {
                  "type": "string",
                  "title": "report_id",
                  "description": "The unique identifier of the report."
                },
                "report_name": {
                  "type": "string",
                  "title": "report_name",
                  "description": "The name of the report."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "brand-radar.Error response": {
        "properties": {
          "error": {
            "type": "string"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "brand-radar.ai-responses": {
        "properties": {
          "ai_responses": {
            "items": {
              "properties": {
                "country": {
                  "type": "string",
                  "title": "country",
                  "description": "The country of the question."
                },
                "data_source": {
                  "type": "string",
                  "title": "data_source",
                  "description": "The chatbot model that generated the response."
                },
                "last_updated": {
                  "type": "string",
                  "format": "date",
                  "title": "last_updated",
                  "description": "The date when the data was last updated."
                },
                "links": {
                  "items": {
                    "properties": {
                      "url": {
                        "type": "string"
                      },
                      "title": {
                        "type": [
                          "string",
                          "null"
                        ]
                      }
                    },
                    "type": "object"
                  },
                  "type": "array",
                  "title": "links",
                  "description": "(10 units) The links used for the response."
                },
                "question": {
                  "type": "string",
                  "title": "question",
                  "description": "The question asked by the user."
                },
                "response": {
                  "type": "string",
                  "title": "response",
                  "description": "(10 units) The response from the model."
                },
                "search_queries": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "search_queries",
                  "description": "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."
                },
                "tags": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "tags",
                  "description": "Tags assigned to the query."
                },
                "volume": {
                  "type": "integer",
                  "title": "volume",
                  "description": "(10 units) Estimated monthly searches. This is based on our estimates for Google, combining the search volumes of related keywords where this question appears in People Also Ask section."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "brand-radar.entity": {
        "anyOf": [
          {
            "required": [
              "names"
            ]
          },
          {
            "required": [
              "url_groups"
            ]
          }
        ],
        "properties": {
          "names": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "description": "The names of the brand/competitor",
            "examples": [
              [
                "ahrefs",
                "ahrefs seo"
              ]
            ]
          },
          "url_groups": {
            "items": {
              "properties": {
                "target": {
                  "type": "string",
                  "format": "domain",
                  "description": "The domain of the target",
                  "examples": [
                    "ahrefs.com"
                  ]
                },
                "scope": {
                  "type": "string",
                  "enum": [
                    "url",
                    "path",
                    "domain",
                    "subdomains"
                  ],
                  "description": "Scope of the target."
                }
              },
              "type": "object",
              "required": [
                "target",
                "scope"
              ]
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "brand-radar.impressions-overview": {
        "properties": {
          "metrics": {
            "items": {
              "properties": {
                "brand": {
                  "type": "string",
                  "title": "brand",
                  "description": "Brand name (either your brand or a competitor provided in the request)."
                },
                "no_tracked_brands": {
                  "type": "integer",
                  "title": "no_tracked_brands",
                  "description": "Estimated impressions from responses related to the specified market that do not mention any provided brands (value is zero when `market` is not specified)."
                },
                "only_competitors_brands": {
                  "type": "integer",
                  "title": "only_competitors_brands",
                  "description": "Estimated impressions from responses mentioning only competitor brands."
                },
                "only_target_brand": {
                  "type": "integer",
                  "title": "only_target_brand",
                  "description": "Estimated impressions from responses mentioning only your brand."
                },
                "target_and_competitors_brands": {
                  "type": "integer",
                  "title": "target_and_competitors_brands",
                  "description": "Estimated impressions from responses mentioning both your and competitor brands."
                },
                "total": {
                  "type": "integer",
                  "title": "total",
                  "description": "Total estimated impressions for your brand (includes both `only_target_brand` and `target_and_competitors_brands`)."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "brand-radar.citations-overview": {
        "properties": {
          "metrics": {
            "items": {
              "properties": {
                "brand": {
                  "type": "string",
                  "title": "brand",
                  "description": "Brand name (either your brand or a competitor provided in the request)."
                },
                "no_tracked_brands": {
                  "type": "integer",
                  "title": "no_tracked_brands",
                  "description": "Estimated citations from responses related to the specified market that do not mention any provided brand URLs (value is zero when `market` is not specified)."
                },
                "only_competitors_brands": {
                  "type": "integer",
                  "title": "only_competitors_brands",
                  "description": "Estimated citations from responses mentioning only competitors' brand URLs."
                },
                "only_target_brand": {
                  "type": "integer",
                  "title": "only_target_brand",
                  "description": "Estimated citations from responses mentioning only your brand URLs."
                },
                "target_and_competitors_brands": {
                  "type": "integer",
                  "title": "target_and_competitors_brands",
                  "description": "Estimated citations from responses mentioning both your and competitors' brand URLs."
                },
                "total": {
                  "type": "integer",
                  "title": "total",
                  "description": "Total estimated citations for your brand URLs (includes both `only_target_brand` and `target_and_competitors_brands`)."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "brand-radar.mentions-overview": {
        "properties": {
          "metrics": {
            "items": {
              "properties": {
                "brand": {
                  "type": "string",
                  "title": "brand",
                  "description": "Brand name (either your brand or a competitor provided in the request)."
                },
                "no_tracked_brands": {
                  "type": "integer",
                  "title": "no_tracked_brands",
                  "description": "Estimated mentions from responses related to the specified market that do not mention any provided brands (value is zero when `market` is not specified)."
                },
                "only_competitors_brands": {
                  "type": "integer",
                  "title": "only_competitors_brands",
                  "description": "Estimated mentions from responses mentioning only competitor brands."
                },
                "only_target_brand": {
                  "type": "integer",
                  "title": "only_target_brand",
                  "description": "Estimated mentions from responses mentioning only your brand."
                },
                "target_and_competitors_brands": {
                  "type": "integer",
                  "title": "target_and_competitors_brands",
                  "description": "Estimated mentions from responses mentioning both your and competitor brands."
                },
                "total": {
                  "type": "integer",
                  "title": "total",
                  "description": "Total estimated mentions for your brand (includes both `only_target_brand` and `target_and_competitors_brands`)."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "brand-radar.sov-overview": {
        "properties": {
          "metrics": {
            "items": {
              "properties": {
                "brand": {
                  "type": "string",
                  "title": "brand",
                  "description": "Brand name (either your brand or a competitor provided in the request)."
                },
                "share_of_voice": {
                  "type": "number",
                  "format": "float",
                  "title": "share_of_voice",
                  "description": "Estimated share of voice for your brand."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "brand-radar.impressions-history": {
        "properties": {
          "metrics": {
            "items": {
              "properties": {
                "date": {
                  "type": "string",
                  "format": "date",
                  "title": "date",
                  "description": ""
                },
                "impressions": {
                  "type": "integer",
                  "title": "impressions",
                  "description": "Estimated impressions from responses mentioning the brand."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "brand-radar.citations-history": {
        "properties": {
          "metrics": {
            "items": {
              "properties": {
                "citations": {
                  "type": "integer",
                  "title": "citations",
                  "description": "Estimated citations from responses mentioning the brand URLs."
                },
                "date": {
                  "type": "string",
                  "format": "date",
                  "title": "date",
                  "description": ""
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "brand-radar.mentions-history": {
        "properties": {
          "metrics": {
            "items": {
              "properties": {
                "date": {
                  "type": "string",
                  "format": "date",
                  "title": "date",
                  "description": ""
                },
                "mentions": {
                  "type": "integer",
                  "title": "mentions",
                  "description": "Estimated mentions from responses mentioning the brand."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "brand-radar.sov-history": {
        "properties": {
          "metrics": {
            "items": {
              "properties": {
                "date": {
                  "type": "string",
                  "format": "date",
                  "title": "date",
                  "description": ""
                },
                "share_of_voice": {
                  "items": {
                    "properties": {
                      "brand": {
                        "type": "string"
                      },
                      "share_of_voice": {
                        "type": "number",
                        "format": "float"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array",
                  "title": "share_of_voice",
                  "description": "(1 unit per brand) Estimated share of voice for the brand."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "brand-radar.cited-pages": {
        "properties": {
          "pages": {
            "items": {
              "properties": {
                "mentions": {
                  "items": {
                    "properties": {},
                    "type": "object"
                  },
                  "type": "array",
                  "title": "mentions",
                  "description": "Deprecated on 2026-02-10."
                },
                "responses": {
                  "type": "integer",
                  "title": "responses",
                  "description": "The number of responses that cited the page."
                },
                "url": {
                  "type": "string",
                  "title": "url",
                  "description": "The URL of the cited page."
                },
                "volume": {
                  "type": "integer",
                  "title": "volume",
                  "description": "Deprecated on 2026-03-24."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "brand-radar.cited-domains": {
        "properties": {
          "domains": {
            "items": {
              "properties": {
                "domain": {
                  "type": "string",
                  "title": "domain",
                  "description": "The cited domain name."
                },
                "mentions": {
                  "items": {
                    "properties": {},
                    "type": "object"
                  },
                  "type": "array",
                  "title": "mentions",
                  "description": "Deprecated on 2026-02-10."
                },
                "pages": {
                  "type": "integer",
                  "title": "pages",
                  "description": "The number of unique pages from the domain that were cited in the responses."
                },
                "responses": {
                  "type": "integer",
                  "title": "responses",
                  "description": "The number of responses that cited the domain."
                },
                "volume": {
                  "type": "integer",
                  "title": "volume",
                  "description": "Deprecated on 2026-03-24."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.Error response": {
        "properties": {
          "error": {
            "type": "string"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.stats": {
        "properties": {
          "stats": {
            "properties": {
              "avg_session_duration_sec": {
                "type": "integer",
                "title": "avg_session_duration_sec",
                "description": "Average session duration (in seconds)"
              },
              "avg_session_length": {
                "type": "number",
                "format": "float",
                "title": "avg_session_length",
                "description": "Average session length (in seconds)"
              },
              "pageviews": {
                "type": "integer",
                "title": "pageviews",
                "description": "Number of pageview events"
              },
              "session_bounce_rate": {
                "type": "number",
                "format": "float",
                "title": "session_bounce_rate",
                "description": "Session bounce rate (percentage of sessions that triggered only one request)"
              },
              "visitors": {
                "type": "integer",
                "title": "visitors",
                "description": "Number of visitors"
              },
              "visits": {
                "type": "integer",
                "title": "visits",
                "description": "Number of visits"
              }
            },
            "type": "object"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.chart": {
        "properties": {
          "points": {
            "items": {
              "properties": {
                "avg_session_duration_sec": {
                  "type": "integer",
                  "title": "avg_session_duration_sec",
                  "description": "Average session duration (in seconds)"
                },
                "avg_session_length": {
                  "type": "number",
                  "format": "float",
                  "title": "avg_session_length",
                  "description": "Average session length (in seconds)"
                },
                "pageviews": {
                  "type": "integer",
                  "title": "pageviews",
                  "description": "Number of pageview events"
                },
                "session_bounce_rate": {
                  "type": "number",
                  "format": "float",
                  "title": "session_bounce_rate",
                  "description": "Session bounce rate (percentage of sessions that triggered only one request)"
                },
                "timestamp": {
                  "type": "string",
                  "title": "timestamp",
                  "description": "Timestamp of the data point"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                },
                "visits": {
                  "type": "integer",
                  "title": "visits",
                  "description": "Number of visits"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.browsers": {
        "properties": {
          "stats": {
            "items": {
              "properties": {
                "avg_session_duration_sec": {
                  "type": "integer",
                  "title": "avg_session_duration_sec",
                  "description": "Average session duration (in seconds)"
                },
                "browser": {
                  "type": "string",
                  "title": "browser",
                  "description": "Browser"
                },
                "session_bounce_rate": {
                  "type": "number",
                  "format": "float",
                  "title": "session_bounce_rate",
                  "description": "Session bounce rate (percentage of sessions that triggered only one request)"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.browsers-chart": {
        "properties": {
          "points": {
            "items": {
              "properties": {
                "avg_session_duration_sec": {
                  "type": "integer",
                  "title": "avg_session_duration_sec",
                  "description": "Average session duration (in seconds)"
                },
                "browser": {
                  "type": "string",
                  "title": "browser",
                  "description": "Browser"
                },
                "session_bounce_rate": {
                  "type": "number",
                  "format": "float",
                  "title": "session_bounce_rate",
                  "description": "Session bounce rate (percentage of sessions that triggered only one request)"
                },
                "timestamp": {
                  "type": "string",
                  "title": "timestamp",
                  "description": "Timestamp of the data point"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.browser-versions": {
        "properties": {
          "stats": {
            "items": {
              "properties": {
                "avg_session_duration_sec": {
                  "type": "integer",
                  "title": "avg_session_duration_sec",
                  "description": "Average session duration (in seconds)"
                },
                "browser_version": {
                  "type": "string",
                  "title": "browser_version",
                  "description": "Browser version"
                },
                "session_bounce_rate": {
                  "type": "number",
                  "format": "float",
                  "title": "session_bounce_rate",
                  "description": "Session bounce rate (percentage of sessions that triggered only one request)"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.browser-versions-chart": {
        "properties": {
          "points": {
            "items": {
              "properties": {
                "avg_session_duration_sec": {
                  "type": "integer",
                  "title": "avg_session_duration_sec",
                  "description": "Average session duration (in seconds)"
                },
                "browser_version": {
                  "type": "string",
                  "title": "browser_version",
                  "description": "Browser version"
                },
                "session_bounce_rate": {
                  "type": "number",
                  "format": "float",
                  "title": "session_bounce_rate",
                  "description": "Session bounce rate (percentage of sessions that triggered only one request)"
                },
                "timestamp": {
                  "type": "string",
                  "title": "timestamp",
                  "description": "Timestamp of the data point"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.cities": {
        "properties": {
          "stats": {
            "items": {
              "properties": {
                "city": {
                  "type": "string",
                  "title": "city",
                  "description": "City"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.cities-chart": {
        "properties": {
          "points": {
            "items": {
              "properties": {
                "city": {
                  "type": "string",
                  "title": "city",
                  "description": "City"
                },
                "timestamp": {
                  "type": "string",
                  "title": "timestamp",
                  "description": "Timestamp of the data point"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.continents": {
        "properties": {
          "stats": {
            "items": {
              "properties": {
                "continent": {
                  "type": "string",
                  "enum": [
                    "AF",
                    "AS",
                    "EU",
                    "NA",
                    "OC",
                    "SA",
                    "AN",
                    ""
                  ],
                  "title": "continent",
                  "description": "Continent"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.continents-chart": {
        "properties": {
          "points": {
            "items": {
              "properties": {
                "continent": {
                  "type": "string",
                  "enum": [
                    "AF",
                    "AS",
                    "EU",
                    "NA",
                    "OC",
                    "SA",
                    "AN",
                    ""
                  ],
                  "title": "continent",
                  "description": "Continent"
                },
                "timestamp": {
                  "type": "string",
                  "title": "timestamp",
                  "description": "Timestamp of the data point"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.countries": {
        "properties": {
          "stats": {
            "items": {
              "properties": {
                "country": {
                  "type": "string",
                  "title": "country",
                  "description": "Country"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.countries-chart": {
        "properties": {
          "points": {
            "items": {
              "properties": {
                "country": {
                  "type": "string",
                  "title": "country",
                  "description": "Country"
                },
                "timestamp": {
                  "type": "string",
                  "title": "timestamp",
                  "description": "Timestamp of the data point"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.devices": {
        "properties": {
          "stats": {
            "items": {
              "properties": {
                "avg_session_duration_sec": {
                  "type": "integer",
                  "title": "avg_session_duration_sec",
                  "description": "Average session duration (in seconds)"
                },
                "device": {
                  "type": "string",
                  "title": "device",
                  "description": "Device type"
                },
                "session_bounce_rate": {
                  "type": "number",
                  "format": "float",
                  "title": "session_bounce_rate",
                  "description": "Session bounce rate (percentage of sessions that triggered only one request)"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.devices-chart": {
        "properties": {
          "points": {
            "items": {
              "properties": {
                "avg_session_duration_sec": {
                  "type": "integer",
                  "title": "avg_session_duration_sec",
                  "description": "Average session duration (in seconds)"
                },
                "device": {
                  "type": "string",
                  "title": "device",
                  "description": "Device type"
                },
                "session_bounce_rate": {
                  "type": "number",
                  "format": "float",
                  "title": "session_bounce_rate",
                  "description": "Session bounce rate (percentage of sessions that triggered only one request)"
                },
                "timestamp": {
                  "type": "string",
                  "title": "timestamp",
                  "description": "Timestamp of the data point"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.entry-pages": {
        "properties": {
          "stats": {
            "items": {
              "properties": {
                "avg_session_duration_sec": {
                  "type": "integer",
                  "title": "avg_session_duration_sec",
                  "description": "Average session duration (in seconds)"
                },
                "entries": {
                  "type": "integer",
                  "title": "entries",
                  "description": "Number of entries"
                },
                "entry_page": {
                  "type": "string",
                  "format": "url",
                  "title": "entry_page",
                  "description": "Entry page URL"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.entry-pages-chart": {
        "properties": {
          "points": {
            "items": {
              "properties": {
                "avg_session_duration_sec": {
                  "type": "integer",
                  "title": "avg_session_duration_sec",
                  "description": "Average session duration (in seconds)"
                },
                "entries": {
                  "type": "integer",
                  "title": "entries",
                  "description": "Number of entries"
                },
                "entry_page": {
                  "type": "string",
                  "format": "url",
                  "title": "entry_page",
                  "description": "Entry page URL"
                },
                "timestamp": {
                  "type": "string",
                  "title": "timestamp",
                  "description": "Timestamp of the data point"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.exit-pages": {
        "properties": {
          "stats": {
            "items": {
              "properties": {
                "exit_page": {
                  "type": "string",
                  "format": "url",
                  "title": "exit_page",
                  "description": "Exit page URL"
                },
                "exit_rate": {
                  "type": "number",
                  "format": "float",
                  "title": "exit_rate",
                  "description": "Exit rate (percentage of pageviews that were the last in the session)"
                },
                "exits": {
                  "type": "integer",
                  "title": "exits",
                  "description": "Number of exits"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.exit-pages-chart": {
        "properties": {
          "points": {
            "items": {
              "properties": {
                "exit_page": {
                  "type": "string",
                  "format": "url",
                  "title": "exit_page",
                  "description": "Exit page URL"
                },
                "exit_rate": {
                  "type": "number",
                  "format": "float",
                  "title": "exit_rate",
                  "description": "Exit rate (percentage of pageviews that were the last in the session)"
                },
                "exits": {
                  "type": "integer",
                  "title": "exits",
                  "description": "Number of exits"
                },
                "timestamp": {
                  "type": "string",
                  "title": "timestamp",
                  "description": "Timestamp of the data point"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.languages": {
        "properties": {
          "stats": {
            "items": {
              "properties": {
                "browser_language": {
                  "type": "string",
                  "title": "browser_language",
                  "description": "Browser language"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.languages-chart": {
        "properties": {
          "points": {
            "items": {
              "properties": {
                "browser_language": {
                  "type": "string",
                  "title": "browser_language",
                  "description": "Browser language"
                },
                "timestamp": {
                  "type": "string",
                  "title": "timestamp",
                  "description": "Timestamp of the data point"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.operating-systems": {
        "properties": {
          "stats": {
            "items": {
              "properties": {
                "avg_session_duration_sec": {
                  "type": "integer",
                  "title": "avg_session_duration_sec",
                  "description": "Average session duration (in seconds)"
                },
                "os": {
                  "type": "string",
                  "title": "os",
                  "description": "Operating system"
                },
                "session_bounce_rate": {
                  "type": "number",
                  "format": "float",
                  "title": "session_bounce_rate",
                  "description": "Session bounce rate (percentage of sessions that triggered only one request)"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.operating-systems-chart": {
        "properties": {
          "points": {
            "items": {
              "properties": {
                "avg_session_duration_sec": {
                  "type": "integer",
                  "title": "avg_session_duration_sec",
                  "description": "Average session duration (in seconds)"
                },
                "os": {
                  "type": "string",
                  "title": "os",
                  "description": "Operating system"
                },
                "session_bounce_rate": {
                  "type": "number",
                  "format": "float",
                  "title": "session_bounce_rate",
                  "description": "Session bounce rate (percentage of sessions that triggered only one request)"
                },
                "timestamp": {
                  "type": "string",
                  "title": "timestamp",
                  "description": "Timestamp of the data point"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.operating-systems-versions": {
        "properties": {
          "stats": {
            "items": {
              "properties": {
                "avg_session_duration_sec": {
                  "type": "integer",
                  "title": "avg_session_duration_sec",
                  "description": "Average session duration (in seconds)"
                },
                "os_version": {
                  "type": "string",
                  "title": "os_version",
                  "description": "Operating system version"
                },
                "session_bounce_rate": {
                  "type": "number",
                  "format": "float",
                  "title": "session_bounce_rate",
                  "description": "Session bounce rate (percentage of sessions that triggered only one request)"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.operating-systems-versions-chart": {
        "properties": {
          "points": {
            "items": {
              "properties": {
                "avg_session_duration_sec": {
                  "type": "integer",
                  "title": "avg_session_duration_sec",
                  "description": "Average session duration (in seconds)"
                },
                "os_version": {
                  "type": "string",
                  "title": "os_version",
                  "description": "Operating system version"
                },
                "session_bounce_rate": {
                  "type": "number",
                  "format": "float",
                  "title": "session_bounce_rate",
                  "description": "Session bounce rate (percentage of sessions that triggered only one request)"
                },
                "timestamp": {
                  "type": "string",
                  "title": "timestamp",
                  "description": "Timestamp of the data point"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.source-channels": {
        "properties": {
          "stats": {
            "items": {
              "properties": {
                "avg_session_duration_sec": {
                  "type": "integer",
                  "title": "avg_session_duration_sec",
                  "description": "Average session duration (in seconds)"
                },
                "session_bounce_rate": {
                  "type": "number",
                  "format": "float",
                  "title": "session_bounce_rate",
                  "description": "Session bounce rate (percentage of sessions that triggered only one request)"
                },
                "source_channel": {
                  "type": "string",
                  "enum": [
                    "search",
                    "llm",
                    "email",
                    "paid",
                    "search/paid",
                    "social",
                    "unknown",
                    "direct",
                    "newsletter",
                    "shopping/organic",
                    "shopping/paid",
                    "audio",
                    "social/paid",
                    "cross-network",
                    "mobile-push-notification",
                    "sms",
                    "affiliate",
                    "referral",
                    "display",
                    "internal"
                  ],
                  "title": "source_channel",
                  "description": "Source Channel"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.source-channels-chart": {
        "properties": {
          "points": {
            "items": {
              "properties": {
                "avg_session_duration_sec": {
                  "type": "integer",
                  "title": "avg_session_duration_sec",
                  "description": "Average session duration (in seconds)"
                },
                "session_bounce_rate": {
                  "type": "number",
                  "format": "float",
                  "title": "session_bounce_rate",
                  "description": "Session bounce rate (percentage of sessions that triggered only one request)"
                },
                "source_channel": {
                  "type": "string",
                  "enum": [
                    "search",
                    "llm",
                    "email",
                    "paid",
                    "search/paid",
                    "social",
                    "unknown",
                    "direct",
                    "newsletter",
                    "shopping/organic",
                    "shopping/paid",
                    "audio",
                    "social/paid",
                    "cross-network",
                    "mobile-push-notification",
                    "sms",
                    "affiliate",
                    "referral",
                    "display",
                    "internal"
                  ],
                  "title": "source_channel",
                  "description": "Source Channel"
                },
                "timestamp": {
                  "type": "string",
                  "title": "timestamp",
                  "description": "Timestamp of the data point"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.sources": {
        "properties": {
          "stats": {
            "items": {
              "properties": {
                "avg_session_duration_sec": {
                  "type": "integer",
                  "title": "avg_session_duration_sec",
                  "description": "Average session duration (in seconds)"
                },
                "session_bounce_rate": {
                  "type": "number",
                  "format": "float",
                  "title": "session_bounce_rate",
                  "description": "Session bounce rate (percentage of sessions that triggered only one request)"
                },
                "source": {
                  "type": "string",
                  "title": "source",
                  "description": "Source"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.sources-chart": {
        "properties": {
          "points": {
            "items": {
              "properties": {
                "avg_session_duration_sec": {
                  "type": "integer",
                  "title": "avg_session_duration_sec",
                  "description": "Average session duration (in seconds)"
                },
                "session_bounce_rate": {
                  "type": "number",
                  "format": "float",
                  "title": "session_bounce_rate",
                  "description": "Session bounce rate (percentage of sessions that triggered only one request)"
                },
                "source": {
                  "type": "string",
                  "title": "source",
                  "description": "Source"
                },
                "timestamp": {
                  "type": "string",
                  "title": "timestamp",
                  "description": "Timestamp of the data point"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.referrers": {
        "properties": {
          "stats": {
            "items": {
              "properties": {
                "avg_session_duration_sec": {
                  "type": "integer",
                  "title": "avg_session_duration_sec",
                  "description": "Average session duration (in seconds)"
                },
                "session_bounce_rate": {
                  "type": "number",
                  "format": "float",
                  "title": "session_bounce_rate",
                  "description": "Session bounce rate (percentage of sessions that triggered only one request)"
                },
                "source_referer": {
                  "type": "string",
                  "title": "source_referer",
                  "description": "Referer source"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.referrers-chart": {
        "properties": {
          "points": {
            "items": {
              "properties": {
                "avg_session_duration_sec": {
                  "type": "integer",
                  "title": "avg_session_duration_sec",
                  "description": "Average session duration (in seconds)"
                },
                "session_bounce_rate": {
                  "type": "number",
                  "format": "float",
                  "title": "session_bounce_rate",
                  "description": "Session bounce rate (percentage of sessions that triggered only one request)"
                },
                "source_referer": {
                  "type": "string",
                  "title": "source_referer",
                  "description": "Referer source"
                },
                "timestamp": {
                  "type": "string",
                  "title": "timestamp",
                  "description": "Timestamp of the data point"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.top-pages": {
        "properties": {
          "stats": {
            "items": {
              "properties": {
                "avg_page_visit_duration_sec": {
                  "type": "integer",
                  "title": "avg_page_visit_duration_sec",
                  "description": "Average page visit duration (in seconds)"
                },
                "page": {
                  "type": "string",
                  "format": "url",
                  "title": "page",
                  "description": "Page URL"
                },
                "pageviews": {
                  "type": "integer",
                  "title": "pageviews",
                  "description": "Number of pageview events"
                },
                "session_bounce_rate": {
                  "type": "number",
                  "format": "float",
                  "title": "session_bounce_rate",
                  "description": "Session bounce rate (percentage of sessions that triggered only one request)"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.top-pages-chart": {
        "properties": {
          "points": {
            "items": {
              "properties": {
                "avg_page_visit_duration_sec": {
                  "type": "integer",
                  "title": "avg_page_visit_duration_sec",
                  "description": "Average page visit duration (in seconds)"
                },
                "page": {
                  "type": "string",
                  "format": "url",
                  "title": "page",
                  "description": "Page URL"
                },
                "pageviews": {
                  "type": "integer",
                  "title": "pageviews",
                  "description": "Number of pageview events"
                },
                "session_bounce_rate": {
                  "type": "number",
                  "format": "float",
                  "title": "session_bounce_rate",
                  "description": "Session bounce rate (percentage of sessions that triggered only one request)"
                },
                "timestamp": {
                  "type": "string",
                  "title": "timestamp",
                  "description": "Timestamp of the data point"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.utm-params": {
        "properties": {
          "stats": {
            "items": {
              "properties": {
                "avg_session_duration_sec": {
                  "type": "integer",
                  "title": "avg_session_duration_sec",
                  "description": "Average session duration (in seconds)"
                },
                "session_bounce_rate": {
                  "type": "number",
                  "format": "float",
                  "title": "session_bounce_rate",
                  "description": "Session bounce rate (percentage of sessions that triggered only one request)"
                },
                "utm_param": {
                  "type": "string",
                  "title": "utm_param",
                  "description": "UTM parameter value"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "web-analytics.utm-params-chart": {
        "properties": {
          "points": {
            "items": {
              "properties": {
                "avg_session_duration_sec": {
                  "type": "integer",
                  "title": "avg_session_duration_sec",
                  "description": "Average session duration (in seconds)"
                },
                "session_bounce_rate": {
                  "type": "number",
                  "format": "float",
                  "title": "session_bounce_rate",
                  "description": "Session bounce rate (percentage of sessions that triggered only one request)"
                },
                "timestamp": {
                  "type": "string",
                  "title": "timestamp",
                  "description": "Timestamp of the data point"
                },
                "utm_param": {
                  "type": "string",
                  "title": "utm_param",
                  "description": "UTM parameter value"
                },
                "visitors": {
                  "type": "integer",
                  "title": "visitors",
                  "description": "Number of visitors"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "gsc.Error response": {
        "properties": {
          "error": {
            "type": "string"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "gsc.performance-history": {
        "properties": {
          "metrics": {
            "items": {
              "properties": {
                "clicks": {
                  "type": "integer",
                  "title": "clicks"
                },
                "ctr": {
                  "type": "number",
                  "format": "float",
                  "title": "ctr"
                },
                "date": {
                  "type": "string",
                  "format": "date-time",
                  "title": "date"
                },
                "impressions": {
                  "type": "integer",
                  "title": "impressions"
                },
                "position": {
                  "type": "number",
                  "format": "float",
                  "title": "position",
                  "description": "Average position (decimal, e.g. 4.7)"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "gsc.positions-history": {
        "properties": {
          "metrics": {
            "items": {
              "properties": {
                "date": {
                  "type": "string",
                  "format": "date-time",
                  "title": "date"
                },
                "position_11_to_20": {
                  "type": "integer",
                  "title": "position_11_to_20"
                },
                "position_1_to_3": {
                  "type": "integer",
                  "title": "position_1_to_3"
                },
                "position_21_to_50": {
                  "type": "integer",
                  "title": "position_21_to_50"
                },
                "position_4_to_10": {
                  "type": "integer",
                  "title": "position_4_to_10"
                },
                "position_51_plus": {
                  "type": "integer",
                  "title": "position_51_plus"
                },
                "total": {
                  "type": "integer",
                  "title": "total"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "gsc.pages-history": {
        "properties": {
          "metrics": {
            "items": {
              "properties": {
                "date": {
                  "type": "string",
                  "format": "date-time",
                  "title": "date"
                },
                "total_pages": {
                  "type": "integer",
                  "title": "total_pages"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "gsc.performance-by-device": {
        "properties": {
          "metrics": {
            "items": {
              "properties": {
                "clicks": {
                  "type": "number",
                  "format": "float",
                  "title": "clicks"
                },
                "ctr": {
                  "type": "number",
                  "format": "float",
                  "title": "ctr"
                },
                "device": {
                  "type": "string",
                  "title": "device"
                },
                "impressions": {
                  "type": "number",
                  "format": "float",
                  "title": "impressions"
                },
                "position": {
                  "type": "number",
                  "format": "float",
                  "title": "position",
                  "description": "Average position (decimal, e.g. 4.7)"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "gsc.metrics-by-country": {
        "properties": {
          "metrics": {
            "items": {
              "properties": {
                "clicks": {
                  "type": "integer",
                  "title": "clicks"
                },
                "country": {
                  "type": "string",
                  "title": "country"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "gsc.ctr-by-position": {
        "properties": {
          "metrics": {
            "items": {
              "properties": {
                "average_ctr_percent": {
                  "type": "number",
                  "format": "float",
                  "title": "average_ctr_percent"
                },
                "keyword_count": {
                  "type": "integer",
                  "title": "keyword_count"
                },
                "position": {
                  "type": "integer",
                  "title": "position"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "gsc.performance-by-position": {
        "properties": {
          "metrics": {
            "items": {
              "properties": {
                "clicks": {
                  "type": "integer",
                  "title": "clicks"
                },
                "clicks_percent": {
                  "type": "number",
                  "format": "float",
                  "title": "clicks_percent"
                },
                "impressions": {
                  "type": "integer",
                  "title": "impressions"
                },
                "impressions_percent": {
                  "type": "number",
                  "format": "float",
                  "title": "impressions_percent"
                },
                "keyword_count": {
                  "type": "integer",
                  "title": "keyword_count"
                },
                "keyword_count_percent": {
                  "type": "number",
                  "format": "float",
                  "title": "keyword_count_percent"
                },
                "position_range": {
                  "type": "string",
                  "title": "position_range"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "gsc.keyword-history": {
        "properties": {
          "metrics": {
            "items": {
              "properties": {
                "clicks": {
                  "type": "integer",
                  "title": "clicks"
                },
                "ctr": {
                  "type": "number",
                  "format": "float",
                  "title": "ctr"
                },
                "date": {
                  "type": "string",
                  "format": "date-time",
                  "title": "date"
                },
                "impressions": {
                  "type": "integer",
                  "title": "impressions"
                },
                "keyword": {
                  "type": "string",
                  "title": "keyword"
                },
                "position": {
                  "type": "number",
                  "format": "float",
                  "title": "position",
                  "description": "Average position (decimal, e.g. 4.7)"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "gsc.keywords": {
        "properties": {
          "keywords": {
            "items": {
              "properties": {
                "clicks": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "clicks"
                },
                "ctr": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "ctr"
                },
                "impressions": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "impressions"
                },
                "keyword": {
                  "type": "string",
                  "title": "keyword"
                },
                "keyword_list_labels": {
                  "items": {
                    "type": "string"
                  },
                  "type": "array",
                  "title": "keyword_list_labels"
                },
                "position": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "position",
                  "description": "Average position (decimal, e.g. 4.7)"
                },
                "top_url": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "url",
                  "title": "top_url"
                },
                "urls_count": {
                  "type": "integer",
                  "title": "urls_count"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "gsc.page-history": {
        "properties": {
          "metrics": {
            "items": {
              "properties": {
                "clicks": {
                  "type": "integer",
                  "title": "clicks"
                },
                "ctr": {
                  "type": "number",
                  "format": "float",
                  "title": "ctr"
                },
                "date": {
                  "type": "string",
                  "format": "date-time",
                  "title": "date"
                },
                "impressions": {
                  "type": "integer",
                  "title": "impressions"
                },
                "page": {
                  "type": "string",
                  "format": "url",
                  "title": "page"
                },
                "position": {
                  "type": "number",
                  "format": "float",
                  "title": "position",
                  "description": "Average position (decimal, e.g. 4.7)"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "gsc.pages": {
        "properties": {
          "pages": {
            "items": {
              "properties": {
                "clicks": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "clicks"
                },
                "ctr": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "ctr"
                },
                "impressions": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "impressions"
                },
                "keywords_count": {
                  "type": "integer",
                  "title": "keywords_count"
                },
                "page": {
                  "type": "string",
                  "format": "url",
                  "title": "page"
                },
                "position": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "position",
                  "description": "Average position (decimal, e.g. 4.7)"
                },
                "top_keyword": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "top_keyword"
                },
                "traffic_value": {
                  "type": [
                    "number",
                    "null"
                  ],
                  "format": "float",
                  "title": "traffic_value",
                  "description": "Estimated traffic value in USD"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "gsc.anonymous-queries": {
        "properties": {
          "keywords": {
            "items": {
              "properties": {
                "cpc": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "cpc"
                },
                "keyword": {
                  "type": "string",
                  "title": "keyword"
                },
                "keyword_country": {
                  "type": "string",
                  "enum": [
                    "AD",
                    "AE",
                    "AF",
                    "AG",
                    "AI",
                    "AL",
                    "AM",
                    "AO",
                    "AQ",
                    "AR",
                    "AS",
                    "AT",
                    "AU",
                    "AW",
                    "AX",
                    "AZ",
                    "BA",
                    "BB",
                    "BD",
                    "BE",
                    "BF",
                    "BG",
                    "BH",
                    "BI",
                    "BJ",
                    "BL",
                    "BM",
                    "BN",
                    "BO",
                    "BQ",
                    "BR",
                    "BS",
                    "BT",
                    "BV",
                    "BW",
                    "BY",
                    "BZ",
                    "CA",
                    "CC",
                    "CD",
                    "CF",
                    "CG",
                    "CH",
                    "CI",
                    "CK",
                    "CL",
                    "CM",
                    "CN",
                    "CO",
                    "CR",
                    "CU",
                    "CV",
                    "CW",
                    "CX",
                    "CY",
                    "CZ",
                    "DE",
                    "DJ",
                    "DK",
                    "DM",
                    "DO",
                    "DZ",
                    "EC",
                    "EE",
                    "EG",
                    "EH",
                    "ER",
                    "ES",
                    "ET",
                    "FI",
                    "FJ",
                    "FK",
                    "FM",
                    "FO",
                    "FR",
                    "GA",
                    "GB",
                    "GD",
                    "GE",
                    "GF",
                    "GG",
                    "GH",
                    "GI",
                    "GL",
                    "GM",
                    "GN",
                    "GP",
                    "GQ",
                    "GR",
                    "GS",
                    "GT",
                    "GU",
                    "GW",
                    "GY",
                    "HK",
                    "HM",
                    "HN",
                    "HR",
                    "HT",
                    "HU",
                    "ID",
                    "IE",
                    "IL",
                    "IM",
                    "IN",
                    "IO",
                    "IQ",
                    "IR",
                    "IS",
                    "IT",
                    "JE",
                    "JM",
                    "JO",
                    "JP",
                    "KE",
                    "KG",
                    "KH",
                    "KI",
                    "KM",
                    "KN",
                    "KP",
                    "KR",
                    "KW",
                    "KY",
                    "KZ",
                    "LA",
                    "LB",
                    "LC",
                    "LI",
                    "LK",
                    "LR",
                    "LS",
                    "LT",
                    "LU",
                    "LV",
                    "LY",
                    "MA",
                    "MC",
                    "MD",
                    "ME",
                    "MF",
                    "MG",
                    "MH",
                    "MK",
                    "ML",
                    "MM",
                    "MN",
                    "MO",
                    "MP",
                    "MQ",
                    "MR",
                    "MS",
                    "MT",
                    "MU",
                    "MV",
                    "MW",
                    "MX",
                    "MY",
                    "MZ",
                    "NA",
                    "NC",
                    "NE",
                    "NF",
                    "NG",
                    "NI",
                    "NL",
                    "NO",
                    "NP",
                    "NR",
                    "NU",
                    "NZ",
                    "OM",
                    "OTHER",
                    "PA",
                    "PE",
                    "PF",
                    "PG",
                    "PH",
                    "PK",
                    "PL",
                    "PM",
                    "PN",
                    "PR",
                    "PS",
                    "PT",
                    "PW",
                    "PY",
                    "QA",
                    "RE",
                    "RO",
                    "RS",
                    "RU",
                    "RW",
                    "SA",
                    "SB",
                    "SC",
                    "SD",
                    "SE",
                    "SG",
                    "SH",
                    "SI",
                    "SJ",
                    "SK",
                    "SL",
                    "SM",
                    "SN",
                    "SO",
                    "SR",
                    "SS",
                    "ST",
                    "SV",
                    "SX",
                    "SY",
                    "SZ",
                    "TC",
                    "TD",
                    "TF",
                    "TG",
                    "TH",
                    "TJ",
                    "TK",
                    "TL",
                    "TM",
                    "TN",
                    "TO",
                    "TR",
                    "TT",
                    "TV",
                    "TW",
                    "TZ",
                    "UA",
                    "UG",
                    "UM",
                    "US",
                    "UY",
                    "UZ",
                    "VA",
                    "VC",
                    "VE",
                    "VG",
                    "VI",
                    "VN",
                    "VU",
                    "WF",
                    "WS",
                    "YE",
                    "YT",
                    "ZA",
                    "ZM",
                    "ZW"
                  ],
                  "title": "keyword_country"
                },
                "keyword_difficulty": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "keyword_difficulty",
                  "description": "(10 units)"
                },
                "position": {
                  "type": "integer",
                  "title": "position"
                },
                "position_kind": {
                  "type": "string",
                  "enum": [
                    "paid_top",
                    "paid_bottom",
                    "paid_right",
                    "paid_sitelink",
                    "organic",
                    "sitelink",
                    "snippet",
                    "image",
                    "article",
                    "knowledge_card",
                    "knowledge_panel",
                    "local_pack",
                    "local_teaser",
                    "news",
                    "question",
                    "review",
                    "shopping",
                    "tweet",
                    "spelling",
                    "video",
                    "discussion",
                    "ai_overview",
                    "ai_overview_sitelink",
                    "organic_shopping"
                  ],
                  "title": "position_kind"
                },
                "traffic": {
                  "type": "integer",
                  "title": "traffic",
                  "description": "(10 units)"
                },
                "url": {
                  "type": "string",
                  "format": "url",
                  "title": "url"
                },
                "volume": {
                  "type": [
                    "integer",
                    "null"
                  ],
                  "title": "volume",
                  "description": "(10 units)"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "social-media.Error response": {
        "properties": {
          "error": {
            "type": "string"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "social-media.channels": {
        "properties": {
          "channels": {
            "items": {
              "properties": {
                "channel_display_name": {
                  "type": "string",
                  "title": "channel_display_name",
                  "description": "Channel display name."
                },
                "channel_id": {
                  "type": "string",
                  "title": "channel_id",
                  "description": "Unique identifier for the social media channel."
                },
                "channel_kind": {
                  "type": "string",
                  "title": "channel_kind",
                  "description": "Social media platform and account type."
                },
                "channel_profile_image_url": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "format": "url",
                  "title": "channel_profile_image_url",
                  "description": "URL of the channel's profile image."
                },
                "channel_status": {
                  "type": "string",
                  "title": "channel_status",
                  "description": "Channel status (connected, paused)."
                },
                "channel_username": {
                  "type": "string",
                  "title": "channel_username",
                  "description": "Channel username on the platform."
                },
                "external_channel_id": {
                  "type": "string",
                  "title": "external_channel_id",
                  "description": "Provider-specific identifier for the channel on the external platform."
                },
                "token_validity": {
                  "type": "string",
                  "title": "token_validity",
                  "description": "Validity of the channel's authentication token (valid, expired, lost_access)."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "social-media.authors": {
        "properties": {
          "authors": {
            "items": {
              "properties": {
                "author_id": {
                  "type": "string",
                  "title": "author_id",
                  "description": "Unique identifier of the author."
                },
                "author_name": {
                  "type": "string",
                  "title": "author_name",
                  "description": "Name of the author."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "social-media.activity-history": {
        "properties": {
          "activities": {
            "items": {
              "properties": {
                "action_type": {
                  "type": "string",
                  "title": "action_type",
                  "description": "The action that was performed on the post."
                },
                "activity_id": {
                  "type": "integer",
                  "title": "activity_id",
                  "description": "Unique identifier for the activity history record."
                },
                "channel_id": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "channel_id",
                  "description": "Unique identifier for the social media channel."
                },
                "channel_kind": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "channel_kind",
                  "description": "Social media platform and account type."
                },
                "created_at": {
                  "type": "string",
                  "format": "date-time",
                  "title": "created_at",
                  "description": "Timestamp when the activity was recorded."
                },
                "user_name": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "user_name",
                  "description": "Name of the user who performed the action."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "social-media.posts": {
        "properties": {
          "posts": {
            "items": {
              "properties": {
                "author_id": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "author_id",
                  "description": "Unique identifier of the author."
                },
                "author_name": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "author_name",
                  "description": "Name of the author."
                },
                "auto_comment": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "auto_comment",
                  "description": "Auto-comment text posted after publishing."
                },
                "channels": {
                  "items": {
                    "properties": {
                      "channel_id": {
                        "type": "string"
                      },
                      "channel_kind": {
                        "type": "string"
                      },
                      "channel_username": {
                        "type": "string"
                      },
                      "channel_display_name": {
                        "type": "string"
                      },
                      "channel_profile_image_url": {
                        "type": [
                          "string",
                          "null"
                        ],
                        "format": "url"
                      }
                    },
                    "type": "object"
                  },
                  "type": "array",
                  "title": "channels",
                  "description": "Social media channels associated with the post."
                },
                "created_at": {
                  "type": "string",
                  "format": "date-time",
                  "title": "created_at",
                  "description": "Timestamp when the author created the post."
                },
                "external_post_id": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "external_post_id",
                  "description": "Platform-specific post identifier."
                },
                "permalink": {
                  "type": [
                    "string",
                    "null"
                  ],
                  "title": "permalink",
                  "description": "URL of the published post on the platform."
                },
                "post_id": {
                  "type": "integer",
                  "title": "post_id",
                  "description": "Unique identifier for the post."
                },
                "status_timestamp": {
                  "type": "string",
                  "title": "status_timestamp",
                  "description": "Timestamp associated with the current status."
                },
                "text_content": {
                  "type": "string",
                  "title": "text_content",
                  "description": "Text content of the post."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "social-media.channel-metrics": {
        "properties": {
          "metrics": {
            "items": {
              "properties": {
                "follower_count": {
                  "type": "integer",
                  "title": "follower_count",
                  "description": "Number of followers at time of retrieval."
                },
                "retrieved_at": {
                  "type": "string",
                  "format": "date-time",
                  "title": "retrieved_at",
                  "description": "Timestamp when the metrics were last retrieved."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "social-media.post-metrics": {
        "properties": {
          "metrics": {
            "items": {
              "properties": {
                "facebook_metrics": {
                  "properties": {
                    "comments": {
                      "type": "integer"
                    },
                    "reactions": {
                      "type": "integer"
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ],
                  "title": "facebook_metrics",
                  "description": "Facebook-specific engagement metrics. Present only when the post is on Facebook."
                },
                "instagram_metrics": {
                  "properties": {
                    "comments": {
                      "type": "integer"
                    },
                    "shares": {
                      "type": "integer"
                    },
                    "saved": {
                      "type": "integer"
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ],
                  "title": "instagram_metrics",
                  "description": "Instagram-specific engagement metrics. Present only when the post is on Instagram."
                },
                "likes": {
                  "type": "integer",
                  "title": "likes",
                  "description": "Number of likes on the post."
                },
                "linkedin_metrics": {
                  "properties": {
                    "comments": {
                      "type": "integer"
                    },
                    "reshares": {
                      "type": "integer"
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ],
                  "title": "linkedin_metrics",
                  "description": "LinkedIn-specific engagement metrics. Present only when the post is on LinkedIn."
                },
                "retrieved_at": {
                  "type": "string",
                  "format": "date-time",
                  "title": "retrieved_at",
                  "description": "Timestamp when the metrics were last retrieved."
                },
                "threads_metrics": {
                  "properties": {
                    "replies": {
                      "type": "integer"
                    },
                    "reposts": {
                      "type": "integer"
                    },
                    "quotes": {
                      "type": "integer"
                    },
                    "shares": {
                      "type": "integer"
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ],
                  "title": "threads_metrics",
                  "description": "Threads-specific engagement metrics. Present only when the post is on Threads."
                },
                "tiktok_metrics": {
                  "properties": {
                    "comments": {
                      "type": "integer"
                    },
                    "shares": {
                      "type": "integer"
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ],
                  "title": "tiktok_metrics",
                  "description": "TikTok-specific engagement metrics. Present only when the post is on TikTok."
                },
                "twitter_metrics": {
                  "properties": {
                    "replies": {
                      "type": "integer"
                    },
                    "retweets": {
                      "type": "integer"
                    },
                    "quote_tweets": {
                      "type": "integer"
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ],
                  "title": "twitter_metrics",
                  "description": "Twitter/X-specific engagement metrics. Present only when the post is on Twitter/X."
                },
                "unique_views": {
                  "type": "integer",
                  "title": "unique_views",
                  "description": "Number of unique users who viewed the post."
                },
                "views": {
                  "type": "integer",
                  "title": "views",
                  "description": "Total number of times the post was viewed."
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "social-media.post": {
        "properties": {
          "post": {
            "properties": {
              "author_id": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "author_id",
                "description": "Unique identifier of the author."
              },
              "author_name": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "author_name",
                "description": "Name of the author."
              },
              "auto_comment": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "auto_comment",
                "description": "Auto-comment text posted after publishing."
              },
              "channels": {
                "items": {
                  "properties": {
                    "channel_id": {
                      "type": "string"
                    },
                    "channel_kind": {
                      "type": "string"
                    },
                    "channel_username": {
                      "type": "string"
                    },
                    "channel_display_name": {
                      "type": "string"
                    },
                    "channel_profile_image_url": {
                      "type": [
                        "string",
                        "null"
                      ],
                      "format": "url"
                    }
                  },
                  "type": "object"
                },
                "type": "array",
                "title": "channels",
                "description": "Social media channels associated with the post."
              },
              "created_at": {
                "type": "string",
                "format": "date-time",
                "title": "created_at",
                "description": "Timestamp when the author created the post."
              },
              "external_post_id": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "external_post_id",
                "description": "Platform-specific post identifier."
              },
              "permalink": {
                "type": [
                  "string",
                  "null"
                ],
                "title": "permalink",
                "description": "URL of the published post on the platform."
              },
              "post_id": {
                "type": "integer",
                "title": "post_id",
                "description": "Unique identifier for the post."
              },
              "status_timestamp": {
                "type": "string",
                "title": "status_timestamp",
                "description": "Timestamp associated with the current status."
              },
              "text_content": {
                "type": "string",
                "title": "text_content",
                "description": "Text content of the post."
              }
            },
            "type": "object"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "public.Error response": {
        "properties": {
          "error": {
            "type": "string"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "public.crawler-ips": {
        "properties": {
          "ips": {
            "items": {
              "properties": {
                "ip_address": {
                  "type": "string",
                  "title": "ip_address"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "public.crawler-ip-ranges": {
        "properties": {
          "prefixes": {
            "items": {
              "properties": {
                "ipv4Prefix": {
                  "type": "string",
                  "title": "ipv4Prefix"
                }
              },
              "type": "object"
            },
            "type": "array"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      },
      "public.domain-rating-free": {
        "properties": {
          "domain_rating": {
            "properties": {
              "domain_rating": {
                "type": "number",
                "format": "float",
                "title": "domain_rating",
                "description": "Current strength of your target's backlink profile compared to the other websites in our database on a 100-point logarithmic scale."
              },
              "license": {
                "type": "string",
                "format": "url",
                "title": "license",
                "description": "URL of the license terms that apply to use of Domain Rating data."
              }
            },
            "type": "object"
          }
        },
        "type": "object",
        "xml": {
          "name": "AhrefsApiResponse"
        }
      }
    },
    "responses": {
      "site-explorer.error_400": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/site-explorer.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/site-explorer.Error response"
            }
          }
        }
      },
      "site-explorer.error_401": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/site-explorer.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/site-explorer.Error response"
            }
          }
        }
      },
      "site-explorer.error_403": {
        "description": "Forbidden",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/site-explorer.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/site-explorer.Error response"
            }
          }
        }
      },
      "site-explorer.error_429": {
        "description": "Too Many Requests",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/site-explorer.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/site-explorer.Error response"
            }
          }
        }
      },
      "site-explorer.error_500": {
        "description": "Internal Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/site-explorer.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/site-explorer.Error response"
            }
          }
        }
      },
      "keywords-explorer.error_400": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/keywords-explorer.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/keywords-explorer.Error response"
            }
          }
        }
      },
      "keywords-explorer.error_401": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/keywords-explorer.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/keywords-explorer.Error response"
            }
          }
        }
      },
      "keywords-explorer.error_403": {
        "description": "Forbidden",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/keywords-explorer.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/keywords-explorer.Error response"
            }
          }
        }
      },
      "keywords-explorer.error_429": {
        "description": "Too Many Requests",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/keywords-explorer.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/keywords-explorer.Error response"
            }
          }
        }
      },
      "keywords-explorer.error_500": {
        "description": "Internal Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/keywords-explorer.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/keywords-explorer.Error response"
            }
          }
        }
      },
      "site-audit.error_400": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/site-audit.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/site-audit.Error response"
            }
          }
        }
      },
      "site-audit.error_401": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/site-audit.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/site-audit.Error response"
            }
          }
        }
      },
      "site-audit.error_403": {
        "description": "Forbidden",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/site-audit.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/site-audit.Error response"
            }
          }
        }
      },
      "site-audit.error_429": {
        "description": "Too Many Requests",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/site-audit.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/site-audit.Error response"
            }
          }
        }
      },
      "site-audit.error_500": {
        "description": "Internal Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/site-audit.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/site-audit.Error response"
            }
          }
        }
      },
      "rank-tracker.error_400": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/rank-tracker.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/rank-tracker.Error response"
            }
          }
        }
      },
      "rank-tracker.error_401": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/rank-tracker.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/rank-tracker.Error response"
            }
          }
        }
      },
      "rank-tracker.error_403": {
        "description": "Forbidden",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/rank-tracker.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/rank-tracker.Error response"
            }
          }
        }
      },
      "rank-tracker.error_429": {
        "description": "Too Many Requests",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/rank-tracker.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/rank-tracker.Error response"
            }
          }
        }
      },
      "rank-tracker.error_500": {
        "description": "Internal Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/rank-tracker.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/rank-tracker.Error response"
            }
          }
        }
      },
      "serp-overview.error_400": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/serp-overview.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/serp-overview.Error response"
            }
          }
        }
      },
      "serp-overview.error_401": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/serp-overview.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/serp-overview.Error response"
            }
          }
        }
      },
      "serp-overview.error_403": {
        "description": "Forbidden",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/serp-overview.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/serp-overview.Error response"
            }
          }
        }
      },
      "serp-overview.error_429": {
        "description": "Too Many Requests",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/serp-overview.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/serp-overview.Error response"
            }
          }
        }
      },
      "serp-overview.error_500": {
        "description": "Internal Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/serp-overview.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/serp-overview.Error response"
            }
          }
        }
      },
      "batch-analysis.error_400": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/batch-analysis.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/batch-analysis.Error response"
            }
          }
        }
      },
      "batch-analysis.error_401": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/batch-analysis.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/batch-analysis.Error response"
            }
          }
        }
      },
      "batch-analysis.error_403": {
        "description": "Forbidden",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/batch-analysis.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/batch-analysis.Error response"
            }
          }
        }
      },
      "batch-analysis.error_429": {
        "description": "Too Many Requests",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/batch-analysis.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/batch-analysis.Error response"
            }
          }
        }
      },
      "batch-analysis.error_500": {
        "description": "Internal Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/batch-analysis.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/batch-analysis.Error response"
            }
          }
        }
      },
      "subscription-info.error_400": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/subscription-info.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/subscription-info.Error response"
            }
          }
        }
      },
      "subscription-info.error_401": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/subscription-info.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/subscription-info.Error response"
            }
          }
        }
      },
      "subscription-info.error_403": {
        "description": "Forbidden",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/subscription-info.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/subscription-info.Error response"
            }
          }
        }
      },
      "subscription-info.error_429": {
        "description": "Too Many Requests",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/subscription-info.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/subscription-info.Error response"
            }
          }
        }
      },
      "subscription-info.error_500": {
        "description": "Internal Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/subscription-info.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/subscription-info.Error response"
            }
          }
        }
      },
      "management.error_400": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/management.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/management.Error response"
            }
          }
        }
      },
      "management.error_401": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/management.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/management.Error response"
            }
          }
        }
      },
      "management.error_403": {
        "description": "Forbidden",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/management.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/management.Error response"
            }
          }
        }
      },
      "management.error_429": {
        "description": "Too Many Requests",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/management.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/management.Error response"
            }
          }
        }
      },
      "management.error_500": {
        "description": "Internal Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/management.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/management.Error response"
            }
          }
        }
      },
      "brand-radar.error_400": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/brand-radar.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/brand-radar.Error response"
            }
          }
        }
      },
      "brand-radar.error_401": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/brand-radar.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/brand-radar.Error response"
            }
          }
        }
      },
      "brand-radar.error_403": {
        "description": "Forbidden",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/brand-radar.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/brand-radar.Error response"
            }
          }
        }
      },
      "brand-radar.error_429": {
        "description": "Too Many Requests",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/brand-radar.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/brand-radar.Error response"
            }
          }
        }
      },
      "brand-radar.error_500": {
        "description": "Internal Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/brand-radar.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/brand-radar.Error response"
            }
          }
        }
      },
      "web-analytics.error_400": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/web-analytics.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/web-analytics.Error response"
            }
          }
        }
      },
      "web-analytics.error_401": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/web-analytics.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/web-analytics.Error response"
            }
          }
        }
      },
      "web-analytics.error_403": {
        "description": "Forbidden",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/web-analytics.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/web-analytics.Error response"
            }
          }
        }
      },
      "web-analytics.error_429": {
        "description": "Too Many Requests",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/web-analytics.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/web-analytics.Error response"
            }
          }
        }
      },
      "web-analytics.error_500": {
        "description": "Internal Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/web-analytics.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/web-analytics.Error response"
            }
          }
        }
      },
      "gsc.error_400": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/gsc.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/gsc.Error response"
            }
          }
        }
      },
      "gsc.error_401": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/gsc.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/gsc.Error response"
            }
          }
        }
      },
      "gsc.error_403": {
        "description": "Forbidden",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/gsc.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/gsc.Error response"
            }
          }
        }
      },
      "gsc.error_429": {
        "description": "Too Many Requests",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/gsc.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/gsc.Error response"
            }
          }
        }
      },
      "gsc.error_500": {
        "description": "Internal Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/gsc.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/gsc.Error response"
            }
          }
        }
      },
      "social-media.error_400": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/social-media.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/social-media.Error response"
            }
          }
        }
      },
      "social-media.error_401": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/social-media.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/social-media.Error response"
            }
          }
        }
      },
      "social-media.error_403": {
        "description": "Forbidden",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/social-media.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/social-media.Error response"
            }
          }
        }
      },
      "social-media.error_429": {
        "description": "Too Many Requests",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/social-media.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/social-media.Error response"
            }
          }
        }
      },
      "social-media.error_500": {
        "description": "Internal Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/social-media.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/social-media.Error response"
            }
          }
        }
      },
      "public.error_400": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/public.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/public.Error response"
            }
          }
        }
      },
      "public.error_401": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/public.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/public.Error response"
            }
          }
        }
      },
      "public.error_403": {
        "description": "Forbidden",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/public.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/public.Error response"
            }
          }
        }
      },
      "public.error_429": {
        "description": "Too Many Requests",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/public.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/public.Error response"
            }
          }
        }
      },
      "public.error_500": {
        "description": "Internal Error",
        "content": {
          "application/json": {
            "schema": {
              "$ref": "#/components/schemas/public.Error response"
            }
          },
          "application/xml": {
            "schema": {
              "$ref": "#/components/schemas/public.Error response"
            }
          }
        }
      }
    },
    "parameters": {
      "site-explorer.output": {
        "description": "The output format.",
        "required": false,
        "explode": false,
        "schema": {
          "type": "string",
          "enum": [
            "json",
            "csv",
            "xml",
            "php"
          ]
        },
        "name": "output",
        "in": "query"
      },
      "keywords-explorer.output_json_php_xml": {
        "description": "The output format.",
        "required": false,
        "explode": false,
        "schema": {
          "type": "string",
          "enum": [
            "json",
            "php",
            "xml"
          ]
        },
        "name": "output",
        "in": "query"
      },
      "keywords-explorer.output": {
        "description": "The output format.",
        "required": false,
        "explode": false,
        "schema": {
          "type": "string",
          "enum": [
            "json",
            "csv",
            "xml",
            "php"
          ]
        },
        "name": "output",
        "in": "query"
      },
      "site-audit.output": {
        "description": "The output format.",
        "required": false,
        "explode": false,
        "schema": {
          "type": "string",
          "enum": [
            "json",
            "csv",
            "xml",
            "php"
          ]
        },
        "name": "output",
        "in": "query"
      },
      "site-audit.output_json_php": {
        "description": "The output format.",
        "required": false,
        "explode": false,
        "schema": {
          "type": "string",
          "enum": [
            "json",
            "php"
          ]
        },
        "name": "output",
        "in": "query"
      },
      "rank-tracker.output": {
        "description": "The output format.",
        "required": false,
        "explode": false,
        "schema": {
          "type": "string",
          "enum": [
            "json",
            "csv",
            "xml",
            "php"
          ]
        },
        "name": "output",
        "in": "query"
      },
      "rank-tracker.output_json_php": {
        "description": "The output format.",
        "required": false,
        "explode": false,
        "schema": {
          "type": "string",
          "enum": [
            "json",
            "php"
          ]
        },
        "name": "output",
        "in": "query"
      },
      "serp-overview.output_json_php_xml": {
        "description": "The output format.",
        "required": false,
        "explode": false,
        "schema": {
          "type": "string",
          "enum": [
            "json",
            "php",
            "xml"
          ]
        },
        "name": "output",
        "in": "query"
      },
      "subscription-info.output": {
        "description": "The output format.",
        "required": false,
        "explode": false,
        "schema": {
          "type": "string",
          "enum": [
            "json",
            "csv",
            "xml",
            "php"
          ]
        },
        "name": "output",
        "in": "query"
      },
      "management.output": {
        "description": "The output format.",
        "required": false,
        "explode": false,
        "schema": {
          "type": "string",
          "enum": [
            "json",
            "csv",
            "xml",
            "php"
          ]
        },
        "name": "output",
        "in": "query"
      },
      "management.output_json_php_xml": {
        "description": "The output format.",
        "required": false,
        "explode": false,
        "schema": {
          "type": "string",
          "enum": [
            "json",
            "php",
            "xml"
          ]
        },
        "name": "output",
        "in": "query"
      },
      "management.output_json_php": {
        "description": "The output format.",
        "required": false,
        "explode": false,
        "schema": {
          "type": "string",
          "enum": [
            "json",
            "php"
          ]
        },
        "name": "output",
        "in": "query"
      },
      "brand-radar.output_json_php": {
        "description": "The output format.",
        "required": false,
        "explode": false,
        "schema": {
          "type": "string",
          "enum": [
            "json",
            "php"
          ]
        },
        "name": "output",
        "in": "query"
      },
      "brand-radar.output": {
        "description": "The output format.",
        "required": false,
        "explode": false,
        "schema": {
          "type": "string",
          "enum": [
            "json",
            "csv",
            "xml",
            "php"
          ]
        },
        "name": "output",
        "in": "query"
      },
      "web-analytics.output": {
        "description": "The output format.",
        "required": false,
        "explode": false,
        "schema": {
          "type": "string",
          "enum": [
            "json",
            "csv",
            "xml",
            "php"
          ]
        },
        "name": "output",
        "in": "query"
      },
      "gsc.output": {
        "description": "The output format.",
        "required": false,
        "explode": false,
        "schema": {
          "type": "string",
          "enum": [
            "json",
            "csv",
            "xml",
            "php"
          ]
        },
        "name": "output",
        "in": "query"
      },
      "gsc.output_json_php_xml": {
        "description": "The output format.",
        "required": false,
        "explode": false,
        "schema": {
          "type": "string",
          "enum": [
            "json",
            "php",
            "xml"
          ]
        },
        "name": "output",
        "in": "query"
      },
      "social-media.output": {
        "description": "The output format.",
        "required": false,
        "explode": false,
        "schema": {
          "type": "string",
          "enum": [
            "json",
            "csv",
            "xml",
            "php"
          ]
        },
        "name": "output",
        "in": "query"
      },
      "social-media.output_json_php": {
        "description": "The output format.",
        "required": false,
        "explode": false,
        "schema": {
          "type": "string",
          "enum": [
            "json",
            "php"
          ]
        },
        "name": "output",
        "in": "query"
      },
      "public.output": {
        "description": "The output format.",
        "required": false,
        "explode": false,
        "schema": {
          "type": "string",
          "enum": [
            "json",
            "csv",
            "xml",
            "php"
          ]
        },
        "name": "output",
        "in": "query"
      }
    }
  }
}
