{ "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:` (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:` (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:` (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:` (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 ::= { \"and\" : + }\n | { \"or\" : + }\n | { \"not\" : }\n | \n\n ::= {\n \"field\" : ,\n ? \"is\": ,\n }\n\n ::= [ \"eq\", ]\n | [ \"neq\", ]\n | [ \"gt\", ]\n | [ \"gte\", ]\n | [ \"lt\", ]\n | [ \"lte\", ]\n | [ \"substring\", ]\n | [ \"isubstring\", ]\n | [ \"phrase_match\", ]\n | [ \"iphrase_match\", ]\n | [ \"prefix\", ]\n | [ \"suffix\", ]\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/" } }