{
  "openapi": "3.2.0",
  "info": {
    "title": "Site Explorer",
    "description": "Fetch data from Site Explorer reports",
    "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/site-explorer",
      "description": "Ahrefs Site Explorer"
    }
  ],
  "paths": {
    "/domain-rating": {
      "get": {
        "tags": [ "Overview", "MCP" ],
        "summary": "Domain rating",
        "operationId": "domain-rating",
        "parameters": [
          {
            "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 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/output" }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/domain-rating" }
              },
              "application/xml": {
                "schema": { "$ref": "#/components/schemas/domain-rating" }
              }
            }
          },
          "400": { "$ref": "#/components/responses/error_400" },
          "401": { "$ref": "#/components/responses/error_401" },
          "403": { "$ref": "#/components/responses/error_403" },
          "429": { "$ref": "#/components/responses/error_429" },
          "500": { "$ref": "#/components/responses/error_500" }
        }
      }
    },
    "/backlinks-stats": {
      "get": {
        "tags": [ "Overview", "MCP" ],
        "summary": "Backlinks stats",
        "operationId": "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/output" }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/backlinks-stats" }
              },
              "application/xml": {
                "schema": { "$ref": "#/components/schemas/backlinks-stats" }
              }
            }
          },
          "400": { "$ref": "#/components/responses/error_400" },
          "401": { "$ref": "#/components/responses/error_401" },
          "403": { "$ref": "#/components/responses/error_403" },
          "429": { "$ref": "#/components/responses/error_429" },
          "500": { "$ref": "#/components/responses/error_500" }
        }
      }
    },
    "/outlinks-stats": {
      "get": {
        "tags": [ "Overview", "MCP" ],
        "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": "outlinks-stats",
        "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 scope of the target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [ "exact", "prefix", "domain", "subdomains" ],
              "default": "subdomains"
            },
            "name": "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"
          },
          { "$ref": "#/components/parameters/output" }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/outlinks-stats" }
              },
              "application/xml": {
                "schema": { "$ref": "#/components/schemas/outlinks-stats" }
              }
            }
          },
          "400": { "$ref": "#/components/responses/error_400" },
          "401": { "$ref": "#/components/responses/error_401" },
          "403": { "$ref": "#/components/responses/error_403" },
          "429": { "$ref": "#/components/responses/error_429" },
          "500": { "$ref": "#/components/responses/error_500" }
        }
      }
    },
    "/metrics": {
      "get": {
        "tags": [ "Overview", "MCP" ],
        "summary": "Metrics",
        "operationId": "metrics",
        "parameters": [
          {
            "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 scope of the target.",
            "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"
          },
          {
            "description": "The protocol of your target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [ "both", "http", "https" ],
              "default": "both"
            },
            "name": "protocol",
            "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 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 organic traffic calculation mode: static or adaptive. It affects organic traffic and traffic value.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [ "static", "adaptive" ],
              "default": "static"
            },
            "name": "traffic_mode",
            "in": "query"
          },
          { "$ref": "#/components/parameters/output" }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/metrics" }
              },
              "application/xml": {
                "schema": { "$ref": "#/components/schemas/metrics" }
              }
            }
          },
          "400": { "$ref": "#/components/responses/error_400" },
          "401": { "$ref": "#/components/responses/error_401" },
          "403": { "$ref": "#/components/responses/error_403" },
          "429": { "$ref": "#/components/responses/error_429" },
          "500": { "$ref": "#/components/responses/error_500" }
        }
      }
    },
    "/ai-responses-count": {
      "get": {
        "tags": [ "Overview", "MCP" ],
        "summary": "AI Responses Count",
        "operationId": "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": "The date to report on in YYYY-MM-DD format.",
            "required": false,
            "explode": false,
            "schema": { "type": "string", "format": "date" },
            "name": "date",
            "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 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": "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/output" }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ai-responses-count"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/ai-responses-count"
                }
              }
            }
          },
          "400": { "$ref": "#/components/responses/error_400" },
          "401": { "$ref": "#/components/responses/error_401" },
          "403": { "$ref": "#/components/responses/error_403" },
          "429": { "$ref": "#/components/responses/error_429" },
          "500": { "$ref": "#/components/responses/error_500" }
        }
      }
    },
    "/refdomains-history": {
      "get": {
        "tags": [ "Overview", "MCP" ],
        "summary": "Refdomains history",
        "operationId": "refdomains-history",
        "parameters": [
          {
            "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 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 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"
          },
          { "$ref": "#/components/parameters/output" }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/refdomains-history"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/refdomains-history"
                }
              }
            }
          },
          "400": { "$ref": "#/components/responses/error_400" },
          "401": { "$ref": "#/components/responses/error_401" },
          "403": { "$ref": "#/components/responses/error_403" },
          "429": { "$ref": "#/components/responses/error_429" },
          "500": { "$ref": "#/components/responses/error_500" }
        }
      }
    },
    "/domain-rating-history": {
      "get": {
        "tags": [ "Overview", "MCP" ],
        "summary": "Domain Rating history",
        "operationId": "domain-rating-history",
        "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 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"
          },
          { "$ref": "#/components/parameters/output" }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/domain-rating-history"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/domain-rating-history"
                }
              }
            }
          },
          "400": { "$ref": "#/components/responses/error_400" },
          "401": { "$ref": "#/components/responses/error_401" },
          "403": { "$ref": "#/components/responses/error_403" },
          "429": { "$ref": "#/components/responses/error_429" },
          "500": { "$ref": "#/components/responses/error_500" }
        }
      }
    },
    "/url-rating-history": {
      "get": {
        "tags": [ "Overview", "MCP" ],
        "summary": "URL Rating history",
        "operationId": "url-rating-history",
        "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 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"
          },
          { "$ref": "#/components/parameters/output" }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/url-rating-history"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/url-rating-history"
                }
              }
            }
          },
          "400": { "$ref": "#/components/responses/error_400" },
          "401": { "$ref": "#/components/responses/error_401" },
          "403": { "$ref": "#/components/responses/error_403" },
          "429": { "$ref": "#/components/responses/error_429" },
          "500": { "$ref": "#/components/responses/error_500" }
        }
      }
    },
    "/pages-history": {
      "get": {
        "tags": [ "Overview", "MCP" ],
        "summary": "Pages history",
        "operationId": "pages-history",
        "parameters": [
          {
            "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 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": "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 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": "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"
          },
          { "$ref": "#/components/parameters/output" }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/pages-history" }
              },
              "application/xml": {
                "schema": { "$ref": "#/components/schemas/pages-history" }
              }
            }
          },
          "400": { "$ref": "#/components/responses/error_400" },
          "401": { "$ref": "#/components/responses/error_401" },
          "403": { "$ref": "#/components/responses/error_403" },
          "429": { "$ref": "#/components/responses/error_429" },
          "500": { "$ref": "#/components/responses/error_500" }
        }
      }
    },
    "/metrics-history": {
      "get": {
        "tags": [ "Overview", "MCP" ],
        "summary": "Metrics history",
        "operationId": "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 scope of the target.",
            "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"
          },
          {
            "description": "The protocol of your target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [ "both", "http", "https" ],
              "default": "both"
            },
            "name": "protocol",
            "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 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 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 organic traffic calculation mode: static or adaptive. It affects organic traffic and traffic value.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [ "static", "adaptive" ],
              "default": "static"
            },
            "name": "traffic_mode",
            "in": "query"
          },
          { "$ref": "#/components/parameters/output" }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/metrics-history" }
              },
              "application/xml": {
                "schema": { "$ref": "#/components/schemas/metrics-history" }
              }
            }
          },
          "400": { "$ref": "#/components/responses/error_400" },
          "401": { "$ref": "#/components/responses/error_401" },
          "403": { "$ref": "#/components/responses/error_403" },
          "429": { "$ref": "#/components/responses/error_429" },
          "500": { "$ref": "#/components/responses/error_500" }
        }
      }
    },
    "/keywords-history": {
      "get": {
        "tags": [ "Overview", "MCP" ],
        "summary": "Keywords history",
        "operationId": "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 scope of the target.",
            "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"
          },
          {
            "description": "The protocol of your target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [ "both", "http", "https" ],
              "default": "both"
            },
            "name": "protocol",
            "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 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"
          },
          { "$ref": "#/components/parameters/output" }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/keywords-history" }
              },
              "application/xml": {
                "schema": { "$ref": "#/components/schemas/keywords-history" }
              }
            }
          },
          "400": { "$ref": "#/components/responses/error_400" },
          "401": { "$ref": "#/components/responses/error_401" },
          "403": { "$ref": "#/components/responses/error_403" },
          "429": { "$ref": "#/components/responses/error_429" },
          "500": { "$ref": "#/components/responses/error_500" }
        }
      }
    },
    "/metrics-by-country": {
      "get": {
        "tags": [ "Overview", "MCP" ],
        "summary": "Metrics by country",
        "operationId": "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": "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 scope of the target.",
            "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"
          },
          {
            "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 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 organic traffic calculation mode: static or adaptive. It affects organic traffic and traffic value.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [ "static", "adaptive" ],
              "default": "static"
            },
            "name": "traffic_mode",
            "in": "query"
          },
          { "$ref": "#/components/parameters/output" }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/metrics-by-country"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/metrics-by-country"
                }
              }
            }
          },
          "400": { "$ref": "#/components/responses/error_400" },
          "401": { "$ref": "#/components/responses/error_401" },
          "403": { "$ref": "#/components/responses/error_403" },
          "429": { "$ref": "#/components/responses/error_429" },
          "500": { "$ref": "#/components/responses/error_500" }
        }
      }
    },
    "/pages-by-traffic": {
      "get": {
        "tags": [ "Overview", "MCP" ],
        "summary": "Pages by traffic",
        "operationId": "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": "The organic traffic calculation mode: static or adaptive. It affects organic traffic and traffic value.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [ "static", "adaptive" ],
              "default": "static"
            },
            "name": "traffic_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/output" }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/pages-by-traffic" }
              },
              "application/xml": {
                "schema": { "$ref": "#/components/schemas/pages-by-traffic" }
              }
            }
          },
          "400": { "$ref": "#/components/responses/error_400" },
          "401": { "$ref": "#/components/responses/error_401" },
          "403": { "$ref": "#/components/responses/error_403" },
          "429": { "$ref": "#/components/responses/error_429" },
          "500": { "$ref": "#/components/responses/error_500" }
        }
      }
    },
    "/all-backlinks": {
      "get": {
        "tags": [ "Backlinks profile", "MCP" ],
        "summary": "Backlinks",
        "operationId": "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/output" }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/all-backlinks" }
              },
              "application/xml": {
                "schema": { "$ref": "#/components/schemas/all-backlinks" }
              }
            }
          },
          "400": { "$ref": "#/components/responses/error_400" },
          "401": { "$ref": "#/components/responses/error_401" },
          "403": { "$ref": "#/components/responses/error_403" },
          "429": { "$ref": "#/components/responses/error_429" },
          "500": { "$ref": "#/components/responses/error_500" }
        }
      }
    },
    "/broken-backlinks": {
      "get": {
        "tags": [ "Backlinks profile", "MCP" ],
        "summary": "Broken Backlinks",
        "operationId": "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/output" }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/broken-backlinks" }
              },
              "application/xml": {
                "schema": { "$ref": "#/components/schemas/broken-backlinks" }
              }
            }
          },
          "400": { "$ref": "#/components/responses/error_400" },
          "401": { "$ref": "#/components/responses/error_401" },
          "403": { "$ref": "#/components/responses/error_403" },
          "429": { "$ref": "#/components/responses/error_429" },
          "500": { "$ref": "#/components/responses/error_500" }
        }
      }
    },
    "/refdomains": {
      "get": {
        "tags": [ "Backlinks profile", "MCP" ],
        "summary": "Refdomains",
        "operationId": "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/output" }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/refdomains" }
              },
              "application/xml": {
                "schema": { "$ref": "#/components/schemas/refdomains" }
              }
            }
          },
          "400": { "$ref": "#/components/responses/error_400" },
          "401": { "$ref": "#/components/responses/error_401" },
          "403": { "$ref": "#/components/responses/error_403" },
          "429": { "$ref": "#/components/responses/error_429" },
          "500": { "$ref": "#/components/responses/error_500" }
        }
      }
    },
    "/anchors": {
      "get": {
        "tags": [ "Backlinks profile", "MCP" ],
        "summary": "Anchors",
        "operationId": "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/output" }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/anchors" }
              },
              "application/xml": {
                "schema": { "$ref": "#/components/schemas/anchors" }
              }
            }
          },
          "400": { "$ref": "#/components/responses/error_400" },
          "401": { "$ref": "#/components/responses/error_401" },
          "403": { "$ref": "#/components/responses/error_403" },
          "429": { "$ref": "#/components/responses/error_429" },
          "500": { "$ref": "#/components/responses/error_500" }
        }
      }
    },
    "/linkeddomains": {
      "get": {
        "tags": [ "Outgoing links", "MCP" ],
        "summary": "Linked Domains",
        "operationId": "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/output" }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/linkeddomains" }
              },
              "application/xml": {
                "schema": { "$ref": "#/components/schemas/linkeddomains" }
              }
            }
          },
          "400": { "$ref": "#/components/responses/error_400" },
          "401": { "$ref": "#/components/responses/error_401" },
          "403": { "$ref": "#/components/responses/error_403" },
          "429": { "$ref": "#/components/responses/error_429" },
          "500": { "$ref": "#/components/responses/error_500" }
        }
      }
    },
    "/linked-anchors-external": {
      "get": {
        "tags": [ "Outgoing links", "MCP" ],
        "summary": "Outgoing external anchors",
        "operationId": "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/output" }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/linked-anchors-external"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/linked-anchors-external"
                }
              }
            }
          },
          "400": { "$ref": "#/components/responses/error_400" },
          "401": { "$ref": "#/components/responses/error_401" },
          "403": { "$ref": "#/components/responses/error_403" },
          "429": { "$ref": "#/components/responses/error_429" },
          "500": { "$ref": "#/components/responses/error_500" }
        }
      }
    },
    "/linked-anchors-internal": {
      "get": {
        "tags": [ "Outgoing links", "MCP" ],
        "summary": "Outgoing internal anchors",
        "operationId": "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/output" }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/linked-anchors-internal"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/linked-anchors-internal"
                }
              }
            }
          },
          "400": { "$ref": "#/components/responses/error_400" },
          "401": { "$ref": "#/components/responses/error_401" },
          "403": { "$ref": "#/components/responses/error_403" },
          "429": { "$ref": "#/components/responses/error_429" },
          "500": { "$ref": "#/components/responses/error_500" }
        }
      }
    },
    "/organic-keywords": {
      "get": {
        "tags": [ "Organic search", "MCP" ],
        "summary": "Organic keywords",
        "operationId": "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 organic traffic calculation mode: static or adaptive. It affects organic traffic and traffic value.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [ "static", "adaptive" ],
              "default": "static"
            },
            "name": "traffic_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"
          },
          { "$ref": "#/components/parameters/output_json_php_xml" }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/organic-keywords" }
              },
              "application/xml": {
                "schema": { "$ref": "#/components/schemas/organic-keywords" }
              }
            }
          },
          "400": { "$ref": "#/components/responses/error_400" },
          "401": { "$ref": "#/components/responses/error_401" },
          "403": { "$ref": "#/components/responses/error_403" },
          "429": { "$ref": "#/components/responses/error_429" },
          "500": { "$ref": "#/components/responses/error_500" }
        }
      }
    },
    "/organic-competitors": {
      "get": {
        "tags": [ "Organic search", "MCP" ],
        "summary": "Organic competitors",
        "operationId": "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 organic traffic calculation mode: static or adaptive. It affects organic traffic and traffic value.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [ "static", "adaptive" ],
              "default": "static"
            },
            "name": "traffic_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"
          },
          { "$ref": "#/components/parameters/output" }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/organic-competitors"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/organic-competitors"
                }
              }
            }
          },
          "400": { "$ref": "#/components/responses/error_400" },
          "401": { "$ref": "#/components/responses/error_401" },
          "403": { "$ref": "#/components/responses/error_403" },
          "429": { "$ref": "#/components/responses/error_429" },
          "500": { "$ref": "#/components/responses/error_500" }
        }
      }
    },
    "/top-pages": {
      "get": {
        "tags": [ "Organic search", "MCP" ],
        "summary": "Top pages",
        "operationId": "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**ai_responses_chatgpt** (10 units): The number of ChatGPT responses in which the page appeared, in the selected country (or summed across all countries). This includes cases where the page was cited as a source or only retrieved in the background. Powered by Brand Radar; requires the corresponding index.  \ntype: integer nullable\n\n**ai_responses_copilot** (10 units): The number of Microsoft Copilot responses in which the page appeared, in the selected country (or summed across all countries). This includes cases where the page was cited as a source or only retrieved in the background. Powered by Brand Radar; requires the corresponding index.  \ntype: integer nullable\n\n**ai_responses_gemini** (10 units): The number of Gemini responses in which the page appeared, in the selected country (or summed across all countries). This includes cases where the page was cited as a source or only retrieved in the background. Powered by Brand Radar; requires the corresponding index.  \ntype: integer nullable\n\n**ai_responses_google_ai_mode** (10 units): The number of Google AI Mode responses in which the page appeared, in the selected country (or summed across all countries). This includes cases where the page was cited as a source or only retrieved in the background. Powered by Brand Radar; requires the corresponding index.  \ntype: integer nullable\n\n**ai_responses_google_ai_overviews** (10 units): The number of Google AI Overviews responses in which the page appeared, in the selected country (or summed across all countries). This includes cases where the page was cited as a source or only retrieved in the background. Powered by Brand Radar; requires the corresponding index.  \ntype: integer nullable\n\n**ai_responses_grok** (10 units): The number of Grok responses in which the page appeared, in the selected country (or summed across all countries). This includes cases where the page was cited as a source or only retrieved in the background. Powered by Brand Radar; requires the corresponding index.  \ntype: integer nullable\n\n**ai_responses_perplexity** (10 units): The number of Perplexity responses in which the page appeared, in the selected country (or summed across all countries). This includes cases where the page was cited as a source or only retrieved in the background. Powered by Brand Radar; requires the corresponding index.  \ntype: integer nullable\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 organic traffic calculation mode: static or adaptive. It affects organic traffic and traffic value.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [ "static", "adaptive" ],
              "default": "static"
            },
            "name": "traffic_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"
          },
          { "$ref": "#/components/parameters/output" }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/top-pages" }
              },
              "application/xml": {
                "schema": { "$ref": "#/components/schemas/top-pages" }
              }
            }
          },
          "400": { "$ref": "#/components/responses/error_400" },
          "401": { "$ref": "#/components/responses/error_401" },
          "403": { "$ref": "#/components/responses/error_403" },
          "429": { "$ref": "#/components/responses/error_429" },
          "500": { "$ref": "#/components/responses/error_500" }
        }
      }
    },
    "/paid-pages": {
      "get": {
        "tags": [ "Paid search", "MCP" ],
        "summary": "Paid pages",
        "operationId": "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/output" }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/paid-pages" }
              },
              "application/xml": {
                "schema": { "$ref": "#/components/schemas/paid-pages" }
              }
            }
          },
          "400": { "$ref": "#/components/responses/error_400" },
          "401": { "$ref": "#/components/responses/error_401" },
          "403": { "$ref": "#/components/responses/error_403" },
          "429": { "$ref": "#/components/responses/error_429" },
          "500": { "$ref": "#/components/responses/error_500" }
        }
      }
    },
    "/pages-by-backlinks": {
      "get": {
        "tags": [ "Pages", "MCP" ],
        "summary": "Best pages by backlinks",
        "description": "Formerly `/best-by-external-links`",
        "operationId": "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/output" }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/pages-by-backlinks"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/pages-by-backlinks"
                }
              }
            }
          },
          "400": { "$ref": "#/components/responses/error_400" },
          "401": { "$ref": "#/components/responses/error_401" },
          "403": { "$ref": "#/components/responses/error_403" },
          "429": { "$ref": "#/components/responses/error_429" },
          "500": { "$ref": "#/components/responses/error_500" }
        }
      }
    },
    "/pages-by-internal-links": {
      "get": {
        "tags": [ "Pages", "MCP" ],
        "summary": "Best pages by internal links",
        "description": "Formerly `/best-by-internal-links`",
        "operationId": "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/output" }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/pages-by-internal-links"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/pages-by-internal-links"
                }
              }
            }
          },
          "400": { "$ref": "#/components/responses/error_400" },
          "401": { "$ref": "#/components/responses/error_401" },
          "403": { "$ref": "#/components/responses/error_403" },
          "429": { "$ref": "#/components/responses/error_429" },
          "500": { "$ref": "#/components/responses/error_500" }
        }
      }
    },
    "/total-search-volume-history": {
      "get": {
        "tags": [ "Overview", "MCP" ],
        "summary": "Total search volume history",
        "operationId": "total-search-volume-history",
        "parameters": [
          {
            "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 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": "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 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 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 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/output" }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/total-search-volume-history"
                }
              },
              "application/xml": {
                "schema": {
                  "$ref": "#/components/schemas/total-search-volume-history"
                }
              }
            }
          },
          "400": { "$ref": "#/components/responses/error_400" },
          "401": { "$ref": "#/components/responses/error_401" },
          "403": { "$ref": "#/components/responses/error_403" },
          "429": { "$ref": "#/components/responses/error_429" },
          "500": { "$ref": "#/components/responses/error_500" }
        }
      }
    },
    "/crawled-pages": {
      "get": {
        "tags": [ "Pages", "MCP" ],
        "summary": "Crawled pages",
        "operationId": "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 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 target.",
            "required": false,
            "explode": false,
            "schema": {
              "type": "string",
              "enum": [ "exact", "prefix", "domain", "subdomains" ],
              "default": "subdomains"
            },
            "name": "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 number of results to return.",
            "required": false,
            "explode": false,
            "schema": { "type": "integer", "default": 1000 },
            "name": "limit",
            "in": "query"
          },
          { "$ref": "#/components/parameters/output" }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": { "$ref": "#/components/schemas/crawled-pages" }
              },
              "application/xml": {
                "schema": { "$ref": "#/components/schemas/crawled-pages" }
              }
            }
          },
          "400": { "$ref": "#/components/responses/error_400" },
          "401": { "$ref": "#/components/responses/error_401" },
          "403": { "$ref": "#/components/responses/error_403" },
          "429": { "$ref": "#/components/responses/error_429" },
          "500": { "$ref": "#/components/responses/error_500" }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "Error response": {
        "properties": { "error": { "type": "string" } },
        "type": "object",
        "xml": { "name": "AhrefsApiResponse" }
      },
      "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" }
      },
      "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" }
      },
      "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" }
      },
      "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" }
      },
      "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" }
      },
      "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" }
      },
      "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" }
      },
      "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" }
      },
      "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" }
      },
      "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" }
      },
      "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" }
      },
      "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" }
      },
      "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" }
      },
      "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" }
      },
      "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" }
      },
      "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" }
      },
      "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" }
      },
      "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" }
      },
      "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" }
      },
      "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" }
      },
      "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" }
      },
      "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" }
      },
      "top-pages": {
        "properties": {
          "pages": {
            "items": {
              "properties": {
                "ai_responses_chatgpt": {
                  "type": [ "integer", "null" ],
                  "title": "ai_responses_chatgpt",
                  "description": "(10 units) The number of ChatGPT responses in which the page appeared, in the selected country (or summed across all countries). This includes cases where the page was cited as a source or only retrieved in the background. Powered by Brand Radar; requires the corresponding index."
                },
                "ai_responses_copilot": {
                  "type": [ "integer", "null" ],
                  "title": "ai_responses_copilot",
                  "description": "(10 units) The number of Microsoft Copilot responses in which the page appeared, in the selected country (or summed across all countries). This includes cases where the page was cited as a source or only retrieved in the background. Powered by Brand Radar; requires the corresponding index."
                },
                "ai_responses_gemini": {
                  "type": [ "integer", "null" ],
                  "title": "ai_responses_gemini",
                  "description": "(10 units) The number of Gemini responses in which the page appeared, in the selected country (or summed across all countries). This includes cases where the page was cited as a source or only retrieved in the background. Powered by Brand Radar; requires the corresponding index."
                },
                "ai_responses_google_ai_mode": {
                  "type": [ "integer", "null" ],
                  "title": "ai_responses_google_ai_mode",
                  "description": "(10 units) The number of Google AI Mode responses in which the page appeared, in the selected country (or summed across all countries). This includes cases where the page was cited as a source or only retrieved in the background. Powered by Brand Radar; requires the corresponding index."
                },
                "ai_responses_google_ai_overviews": {
                  "type": [ "integer", "null" ],
                  "title": "ai_responses_google_ai_overviews",
                  "description": "(10 units) The number of Google AI Overviews responses in which the page appeared, in the selected country (or summed across all countries). This includes cases where the page was cited as a source or only retrieved in the background. Powered by Brand Radar; requires the corresponding index."
                },
                "ai_responses_grok": {
                  "type": [ "integer", "null" ],
                  "title": "ai_responses_grok",
                  "description": "(10 units) The number of Grok responses in which the page appeared, in the selected country (or summed across all countries). This includes cases where the page was cited as a source or only retrieved in the background. Powered by Brand Radar; requires the corresponding index."
                },
                "ai_responses_perplexity": {
                  "type": [ "integer", "null" ],
                  "title": "ai_responses_perplexity",
                  "description": "(10 units) The number of Perplexity responses in which the page appeared, in the selected country (or summed across all countries). This includes cases where the page was cited as a source or only retrieved in the background. Powered by Brand Radar; requires the corresponding index."
                },
                "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" }
      },
      "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" }
      },
      "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" }
      },
      "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" }
      },
      "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" }
      },
      "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" }
      }
    },
    "responses": {
      "error_400": {
        "description": "Bad Request",
        "content": {
          "application/json": {
            "schema": { "$ref": "#/components/schemas/Error response" }
          },
          "application/xml": {
            "schema": { "$ref": "#/components/schemas/Error response" }
          }
        }
      },
      "error_401": {
        "description": "Unauthorized",
        "content": {
          "application/json": {
            "schema": { "$ref": "#/components/schemas/Error response" }
          },
          "application/xml": {
            "schema": { "$ref": "#/components/schemas/Error response" }
          }
        }
      },
      "error_403": {
        "description": "Forbidden",
        "content": {
          "application/json": {
            "schema": { "$ref": "#/components/schemas/Error response" }
          },
          "application/xml": {
            "schema": { "$ref": "#/components/schemas/Error response" }
          }
        }
      },
      "error_429": {
        "description": "Too Many Requests",
        "content": {
          "application/json": {
            "schema": { "$ref": "#/components/schemas/Error response" }
          },
          "application/xml": {
            "schema": { "$ref": "#/components/schemas/Error response" }
          }
        }
      },
      "error_500": {
        "description": "Internal Error",
        "content": {
          "application/json": {
            "schema": { "$ref": "#/components/schemas/Error response" }
          },
          "application/xml": {
            "schema": { "$ref": "#/components/schemas/Error response" }
          }
        }
      }
    },
    "parameters": {
      "output": {
        "description": "The output format.",
        "required": false,
        "explode": false,
        "schema": {
          "type": "string",
          "enum": [ "json", "csv", "xml", "php" ]
        },
        "name": "output",
        "in": "query"
      },
      "output_json_php_xml": {
        "description": "The output format.",
        "required": false,
        "explode": false,
        "schema": { "type": "string", "enum": [ "json", "php", "xml" ] },
        "name": "output",
        "in": "query"
      }
    },
    "examples": {},
    "requestBodies": {},
    "headers": {},
    "securitySchemes": { "http": { "type": "http", "scheme": "bearer" } },
    "links": {},
    "callbacks": {},
    "pathItems": {},
    "mediaTypes": {}
  },
  "security": [ { "http": [ "read" ] } ],
  "tags": [
    { "name": "Overview", "description": "Data from overview" },
    { "name": "Backlinks profile", "description": "Backlinks data" },
    { "name": "Organic search", "description": "Organic search data" },
    { "name": "Paid search", "description": "Paid search data" },
    { "name": "Pages", "description": "Pages data" },
    { "name": "Outgoing links", "description": "Outgoing links data" }
  ],
  "externalDocs": {
    "description": "",
    "url": "https://docs.ahrefs.com/docs/api/v3/"
  }
}