{ "openapi": "3.2.0", "info": { "title": "Rank Tracker", "description": "Rank tracker.", "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/rank-tracker", "description": "Ahrefs Rank Tracker" } ], "paths": { "/overview": { "get": { "tags": [ "Overview", "MCP" ], "summary": "Overview", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "overview", "parameters": [ { "description": "A manual timeout duration in seconds.", "required": false, "explode": false, "schema": { "type": "integer" }, "name": "timeout", "in": "query" }, { "description": "The number of results to return.", "required": false, "explode": false, "schema": { "type": "integer", "default": 1000 }, "name": "limit", "in": "query" }, { "description": "A comma-separated list of columns to order results by, with optional direction. See response schema for valid column identifiers.", "required": false, "explode": false, "schema": { "type": "string", "examples": [ "field_a,field_b:asc,field_c:desc" ] }, "name": "order_by", "in": "query" }, { "description": "The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the `select` parameter).\n\n**best_position_has_thumbnail**: The top position (or target URL’s, if set) has a thumbnail. \ntype: boolean nullable\n\n**best_position_has_thumbnail_previous**: The top position (or target URL’s, if set) has a thumbnail on the comparison date. \ntype: boolean nullable\n\n**best_position_has_video_preview**: The top position (or target URL’s, if set) has a video preview. \ntype: boolean nullable\n\n**best_position_has_video_preview_previous**: The top position (or target URL’s, if set) has a video preview on the comparison date. \ntype: boolean nullable\n\n**best_position_kind**: The kind of top position (or target URL’s, if set): organic, paid, or a SERP feature. \ntype: string nullable \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"`\n\n**best_position_kind_previous**: The kind of top position (or target URL’s, if set) on the comparison date. \ntype: string nullable \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"`\n\n**clicks**: Clicks metric refers to the average monthly number of clicks on the search results that people make while searching for the target keyword. Some searches generate clicks on multiple results, while others might not end in any clicks at all. \ntype: integer nullable\n\n**clicks_per_search**: Clicks Per Search is the ratio of Clicks to Keyword Search volume. It shows how many different search results get clicked, on average, when people search for the target keyword in a given country. \ntype: float nullable\n\n**cost_per_click**: Cost Per Click shows the average price that advertisers pay for each ad click in paid search results for a keyword. \ntype: integer nullable\n\n**country**: The country that a given keyword is being tracked in. A two-letter country code (ISO 3166-1 alpha-2). \ntype: string \nenum: `\"AD\"` `\"AE\"` `\"AF\"` `\"AG\"` `\"AI\"` `\"AL\"` `\"AM\"` `\"AO\"` `\"AQ\"` `\"AR\"` `\"AS\"` `\"AT\"` `\"AU\"` `\"AW\"` `\"AX\"` `\"AZ\"` `\"BA\"` `\"BB\"` `\"BD\"` `\"BE\"` `\"BF\"` `\"BG\"` `\"BH\"` `\"BI\"` `\"BJ\"` `\"BL\"` `\"BM\"` `\"BN\"` `\"BO\"` `\"BQ\"` `\"BR\"` `\"BS\"` `\"BT\"` `\"BV\"` `\"BW\"` `\"BY\"` `\"BZ\"` `\"CA\"` `\"CC\"` `\"CD\"` `\"CF\"` `\"CG\"` `\"CH\"` `\"CI\"` `\"CK\"` `\"CL\"` `\"CM\"` `\"CN\"` `\"CO\"` `\"CR\"` `\"CU\"` `\"CV\"` `\"CW\"` `\"CX\"` `\"CY\"` `\"CZ\"` `\"DE\"` `\"DJ\"` `\"DK\"` `\"DM\"` `\"DO\"` `\"DZ\"` `\"EC\"` `\"EE\"` `\"EG\"` `\"EH\"` `\"ER\"` `\"ES\"` `\"ET\"` `\"FI\"` `\"FJ\"` `\"FK\"` `\"FM\"` `\"FO\"` `\"FR\"` `\"GA\"` `\"GB\"` `\"GD\"` `\"GE\"` `\"GF\"` `\"GG\"` `\"GH\"` `\"GI\"` `\"GL\"` `\"GM\"` `\"GN\"` `\"GP\"` `\"GQ\"` `\"GR\"` `\"GS\"` `\"GT\"` `\"GU\"` `\"GW\"` `\"GY\"` `\"HK\"` `\"HM\"` `\"HN\"` `\"HR\"` `\"HT\"` `\"HU\"` `\"ID\"` `\"IE\"` `\"IL\"` `\"IM\"` `\"IN\"` `\"IO\"` `\"IQ\"` `\"IR\"` `\"IS\"` `\"IT\"` `\"JE\"` `\"JM\"` `\"JO\"` `\"JP\"` `\"KE\"` `\"KG\"` `\"KH\"` `\"KI\"` `\"KM\"` `\"KN\"` `\"KP\"` `\"KR\"` `\"KW\"` `\"KY\"` `\"KZ\"` `\"LA\"` `\"LB\"` `\"LC\"` `\"LI\"` `\"LK\"` `\"LR\"` `\"LS\"` `\"LT\"` `\"LU\"` `\"LV\"` `\"LY\"` `\"MA\"` `\"MC\"` `\"MD\"` `\"ME\"` `\"MF\"` `\"MG\"` `\"MH\"` `\"MK\"` `\"ML\"` `\"MM\"` `\"MN\"` `\"MO\"` `\"MP\"` `\"MQ\"` `\"MR\"` `\"MS\"` `\"MT\"` `\"MU\"` `\"MV\"` `\"MW\"` `\"MX\"` `\"MY\"` `\"MZ\"` `\"NA\"` `\"NC\"` `\"NE\"` `\"NF\"` `\"NG\"` `\"NI\"` `\"NL\"` `\"NO\"` `\"NP\"` `\"NR\"` `\"NU\"` `\"NZ\"` `\"OM\"` `\"OTHER\"` `\"PA\"` `\"PE\"` `\"PF\"` `\"PG\"` `\"PH\"` `\"PK\"` `\"PL\"` `\"PM\"` `\"PN\"` `\"PR\"` `\"PS\"` `\"PT\"` `\"PW\"` `\"PY\"` `\"QA\"` `\"RE\"` `\"RO\"` `\"RS\"` `\"RU\"` `\"RW\"` `\"SA\"` `\"SB\"` `\"SC\"` `\"SD\"` `\"SE\"` `\"SG\"` `\"SH\"` `\"SI\"` `\"SJ\"` `\"SK\"` `\"SL\"` `\"SM\"` `\"SN\"` `\"SO\"` `\"SR\"` `\"SS\"` `\"ST\"` `\"SV\"` `\"SX\"` `\"SY\"` `\"SZ\"` `\"TC\"` `\"TD\"` `\"TF\"` `\"TG\"` `\"TH\"` `\"TJ\"` `\"TK\"` `\"TL\"` `\"TM\"` `\"TN\"` `\"TO\"` `\"TR\"` `\"TT\"` `\"TV\"` `\"TW\"` `\"TZ\"` `\"UA\"` `\"UG\"` `\"UM\"` `\"US\"` `\"UY\"` `\"UZ\"` `\"VA\"` `\"VC\"` `\"VE\"` `\"VG\"` `\"VI\"` `\"VN\"` `\"VU\"` `\"WF\"` `\"WS\"` `\"YE\"` `\"YT\"` `\"ZA\"` `\"ZM\"` `\"ZW\"`\n\n**country_prev**: The country that a given keyword is being tracked in on the comparison date. A two-letter country code (ISO 3166-1 alpha-2). \ntype: string \nenum: `\"AD\"` `\"AE\"` `\"AF\"` `\"AG\"` `\"AI\"` `\"AL\"` `\"AM\"` `\"AO\"` `\"AQ\"` `\"AR\"` `\"AS\"` `\"AT\"` `\"AU\"` `\"AW\"` `\"AX\"` `\"AZ\"` `\"BA\"` `\"BB\"` `\"BD\"` `\"BE\"` `\"BF\"` `\"BG\"` `\"BH\"` `\"BI\"` `\"BJ\"` `\"BL\"` `\"BM\"` `\"BN\"` `\"BO\"` `\"BQ\"` `\"BR\"` `\"BS\"` `\"BT\"` `\"BV\"` `\"BW\"` `\"BY\"` `\"BZ\"` `\"CA\"` `\"CC\"` `\"CD\"` `\"CF\"` `\"CG\"` `\"CH\"` `\"CI\"` `\"CK\"` `\"CL\"` `\"CM\"` `\"CN\"` `\"CO\"` `\"CR\"` `\"CU\"` `\"CV\"` `\"CW\"` `\"CX\"` `\"CY\"` `\"CZ\"` `\"DE\"` `\"DJ\"` `\"DK\"` `\"DM\"` `\"DO\"` `\"DZ\"` `\"EC\"` `\"EE\"` `\"EG\"` `\"EH\"` `\"ER\"` `\"ES\"` `\"ET\"` `\"FI\"` `\"FJ\"` `\"FK\"` `\"FM\"` `\"FO\"` `\"FR\"` `\"GA\"` `\"GB\"` `\"GD\"` `\"GE\"` `\"GF\"` `\"GG\"` `\"GH\"` `\"GI\"` `\"GL\"` `\"GM\"` `\"GN\"` `\"GP\"` `\"GQ\"` `\"GR\"` `\"GS\"` `\"GT\"` `\"GU\"` `\"GW\"` `\"GY\"` `\"HK\"` `\"HM\"` `\"HN\"` `\"HR\"` `\"HT\"` `\"HU\"` `\"ID\"` `\"IE\"` `\"IL\"` `\"IM\"` `\"IN\"` `\"IO\"` `\"IQ\"` `\"IR\"` `\"IS\"` `\"IT\"` `\"JE\"` `\"JM\"` `\"JO\"` `\"JP\"` `\"KE\"` `\"KG\"` `\"KH\"` `\"KI\"` `\"KM\"` `\"KN\"` `\"KP\"` `\"KR\"` `\"KW\"` `\"KY\"` `\"KZ\"` `\"LA\"` `\"LB\"` `\"LC\"` `\"LI\"` `\"LK\"` `\"LR\"` `\"LS\"` `\"LT\"` `\"LU\"` `\"LV\"` `\"LY\"` `\"MA\"` `\"MC\"` `\"MD\"` `\"ME\"` `\"MF\"` `\"MG\"` `\"MH\"` `\"MK\"` `\"ML\"` `\"MM\"` `\"MN\"` `\"MO\"` `\"MP\"` `\"MQ\"` `\"MR\"` `\"MS\"` `\"MT\"` `\"MU\"` `\"MV\"` `\"MW\"` `\"MX\"` `\"MY\"` `\"MZ\"` `\"NA\"` `\"NC\"` `\"NE\"` `\"NF\"` `\"NG\"` `\"NI\"` `\"NL\"` `\"NO\"` `\"NP\"` `\"NR\"` `\"NU\"` `\"NZ\"` `\"OM\"` `\"OTHER\"` `\"PA\"` `\"PE\"` `\"PF\"` `\"PG\"` `\"PH\"` `\"PK\"` `\"PL\"` `\"PM\"` `\"PN\"` `\"PR\"` `\"PS\"` `\"PT\"` `\"PW\"` `\"PY\"` `\"QA\"` `\"RE\"` `\"RO\"` `\"RS\"` `\"RU\"` `\"RW\"` `\"SA\"` `\"SB\"` `\"SC\"` `\"SD\"` `\"SE\"` `\"SG\"` `\"SH\"` `\"SI\"` `\"SJ\"` `\"SK\"` `\"SL\"` `\"SM\"` `\"SN\"` `\"SO\"` `\"SR\"` `\"SS\"` `\"ST\"` `\"SV\"` `\"SX\"` `\"SY\"` `\"SZ\"` `\"TC\"` `\"TD\"` `\"TF\"` `\"TG\"` `\"TH\"` `\"TJ\"` `\"TK\"` `\"TL\"` `\"TM\"` `\"TN\"` `\"TO\"` `\"TR\"` `\"TT\"` `\"TV\"` `\"TW\"` `\"TZ\"` `\"UA\"` `\"UG\"` `\"UM\"` `\"US\"` `\"UY\"` `\"UZ\"` `\"VA\"` `\"VC\"` `\"VE\"` `\"VG\"` `\"VI\"` `\"VN\"` `\"VU\"` `\"WF\"` `\"WS\"` `\"YE\"` `\"YT\"` `\"ZA\"` `\"ZM\"` `\"ZW\"`\n\n**created_at**: The date when a keyword was added to the project. \ntype: datetime\n\n**is_branded**: User intent: branded. The user is searching for a specific brand or company name. \ntype: boolean\n\n**is_commercial**: User intent: commercial. The user is comparing products or services before making a purchase decision. \ntype: boolean\n\n**is_informational**: User intent: informational. The user is looking for information or an answer to a specific question. \ntype: boolean\n\n**is_local**: User intent: local. The user is looking for information relevant to a specific location or nearby services. \ntype: boolean\n\n**is_main_position**: Excludes positions in Ai Overview, Sitelinks, Top stories, Image packs, Videos, Discussions and forums, and posts on X (Twitter). \ntype: boolean\n\n**is_main_position_prev**: Excludes positions in Ai Overview, Sitelinks, Top stories, Image packs, Videos, Discussions and forums, and posts on X (Twitter) on the comparison date. \ntype: boolean\n\n**is_navigational**: User intent: navigational. The user is searching for a specific website or web page. \ntype: boolean\n\n**is_transactional**: User intent: transactional. The user is ready to complete an action, often a purchase. \ntype: boolean\n\n**keyword**: The keyword your target ranks for. \ntype: string\n\n**keyword_difficulty**: An estimation of how hard it is to rank in the top 10 organic search results for a keyword on a 100-point scale. \ntype: integer nullable\n\n**keyword_has_data**: Will return `false` if the keyword is still processing and no SERP has been fetched yet. \ntype: boolean\n\n**keyword_is_frozen**: Indicates whether a keyword has exceeded the tracked keywords limit on your plan. Such keywords are \"frozen\", meaning they do not have their rankings updated. \ntype: boolean\n\n**keyword_prev**: The keyword your target ranks for on the comparison date. \ntype: string\n\n**keyword_words**: The number of words in a keyword. \ntype: integer\n\n**keyword_words_prev**: The number of words in a keyword on the comparison date. \ntype: integer\n\n**language**: The SERP language that a given keyword is being tracked for. \ntype: string\n\n**language_prev**: The SERP language on the comparison date. \ntype: string\n\n**location**: The location (country, state/province, or city) that a given keyword is being tracked in. \ntype: string\n\n**location_prev**: The location (country, state/province, or city) that a given keyword is being tracked in on the comparison date. \ntype: string\n\n**parent_topic**: Parent Topic determines if you can rank for your target keyword while targeting a more general topic on your page instead. To identify the Parent Topic, we take the #1 ranking page for your keyword and find the keyword responsible for sending the most traffic to that page. \ntype: string nullable\n\n**position**: The top position (or target URL’s, if set) in organic search. \ntype: integer nullable\n\n**position_diff**: The change in top position (or target URL’s, if set) between selected dates. \ntype: integer nullable\n\n**position_prev**: The top position (or target URL’s, if set) on the comparison date. \ntype: integer nullable\n\n**search_type_image**: Search type Image shows the percentage of searches for a keyword made for images, highlighting interest in visual content. \ntype: float nullable\n\n**search_type_news**: Search type News shows the percentage of searches for a keyword made for news articles. \ntype: float nullable\n\n**search_type_video**: Search type Video shows the percentage of searches for a keyword made for video, reflecting interest in video content. \ntype: float nullable\n\n**search_type_web**: Search type Web shows the percentage of searches for a keyword made for general web content, indicating interest in a wide range of information. \ntype: float nullable\n\n**serp_features**: The SERP features that appear in search results for a keyword. \ntype: array(string) \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"` `\"image_th\"` `\"video_th\"` `\"ai_overview_found\"`\n\n**serp_features_prev**: The SERP features that appear in search results for a keyword on the comparison date. \ntype: array(string) \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"` `\"image_th\"` `\"video_th\"` `\"ai_overview_found\"`\n\n**serp_updated**: The date when we last checked search engine results for a keyword. \ntype: datetime nullable\n\n**serp_updated_prev**: The date when we checked search engine results up to the comparison date. \ntype: datetime nullable\n\n**tags**: A list of tags assigned to a given keyword. \ntype: array(string)\n\n**tags_prev**: A list of tags assigned to a given keyword on the comparison date. \ntype: array(string)\n\n**target_positions_count**: The number of target URLs ranking for a keyword. \ntype: integer\n\n**traffic**: An estimation of the number of monthly visits that a page gets from organic search over the latest month or over the latest known 12 months of data depending on the \"volume_mode\" parameter. \ntype: integer nullable\n\n**traffic_diff**: The change in traffic between your selected dates. \ntype: integer nullable\n\n**traffic_prev**: An estimation of the number of monthly visits that a page gets from organic search over the latest month or over the latest known 12 months of data depending on the \"volume_mode\" parameter. \ntype: integer nullable\n\n**url**: The top-ranking URL (or target URL, if set) in organic search. \ntype: string nullable\n\n**url_prev**: The top-ranking URL (or target URL, if set) on the comparison date. \ntype: string nullable\n\n**volume**: An estimation of the average monthly number of searches for a keyword over the latest month or over the latest known 12 months of data depending on the \"volume_mode\" parameter. \ntype: integer nullable\n\n**volume_desktop_pct**: The percentage of the total search volume that comes from desktop devices. \ntype: float nullable\n\n**volume_mobile_pct**: The percentage of the total search volume that comes from mobile devices. \ntype: float nullable", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.", "required": true, "explode": false, "schema": { "type": "string" }, "name": "select", "in": "query" }, { "description": "A date to compare metrics with in YYYY-MM-DD format.", "required": false, "explode": false, "schema": { "type": "string", "format": "date" }, "name": "date_compared", "in": "query" }, { "description": "A date to report metrics on in YYYY-MM-DD format.", "required": true, "explode": false, "schema": { "type": "string", "format": "date" }, "name": "date", "in": "query" }, { "description": "Choose between mobile and desktop rankings.", "required": true, "explode": false, "schema": { "type": "string", "enum": [ "desktop", "mobile" ] }, "name": "device", "in": "query" }, { "description": "The unique identifier of the project. You can find it in the URL of your Rank Tracker project in Ahrefs: `https://app.ahrefs.com/rank-tracker/overview/#project_id#`", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "description": "The search volume calculation mode: monthly or average. It affects volume, traffic, and traffic value.", "required": false, "explode": false, "schema": { "type": "string", "enum": [ "monthly", "average" ], "default": "monthly" }, "name": "volume_mode", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/overview" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/overview" } } } }, "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" } } } }, "/competitors-overview": { "get": { "tags": [ "Competitors Overview", "MCP" ], "summary": "Competitors overview", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "competitors-overview", "parameters": [ { "description": "A manual timeout duration in seconds.", "required": false, "explode": false, "schema": { "type": "integer" }, "name": "timeout", "in": "query" }, { "description": "The number of results to return.", "required": false, "explode": false, "schema": { "type": "integer", "default": 1000 }, "name": "limit", "in": "query" }, { "description": "A comma-separated list of columns to order results by, with optional direction. See response schema for valid column identifiers.", "required": false, "explode": false, "schema": { "type": "string", "examples": [ "field_a,field_b:asc,field_c:desc" ] }, "name": "order_by", "in": "query" }, { "description": "The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the `select` parameter).\n\n**country**: The country that a given keyword is being tracked in. A two-letter country code (ISO 3166-1 alpha-2). \ntype: string \nenum: `\"AD\"` `\"AE\"` `\"AF\"` `\"AG\"` `\"AI\"` `\"AL\"` `\"AM\"` `\"AO\"` `\"AQ\"` `\"AR\"` `\"AS\"` `\"AT\"` `\"AU\"` `\"AW\"` `\"AX\"` `\"AZ\"` `\"BA\"` `\"BB\"` `\"BD\"` `\"BE\"` `\"BF\"` `\"BG\"` `\"BH\"` `\"BI\"` `\"BJ\"` `\"BL\"` `\"BM\"` `\"BN\"` `\"BO\"` `\"BQ\"` `\"BR\"` `\"BS\"` `\"BT\"` `\"BV\"` `\"BW\"` `\"BY\"` `\"BZ\"` `\"CA\"` `\"CC\"` `\"CD\"` `\"CF\"` `\"CG\"` `\"CH\"` `\"CI\"` `\"CK\"` `\"CL\"` `\"CM\"` `\"CN\"` `\"CO\"` `\"CR\"` `\"CU\"` `\"CV\"` `\"CW\"` `\"CX\"` `\"CY\"` `\"CZ\"` `\"DE\"` `\"DJ\"` `\"DK\"` `\"DM\"` `\"DO\"` `\"DZ\"` `\"EC\"` `\"EE\"` `\"EG\"` `\"EH\"` `\"ER\"` `\"ES\"` `\"ET\"` `\"FI\"` `\"FJ\"` `\"FK\"` `\"FM\"` `\"FO\"` `\"FR\"` `\"GA\"` `\"GB\"` `\"GD\"` `\"GE\"` `\"GF\"` `\"GG\"` `\"GH\"` `\"GI\"` `\"GL\"` `\"GM\"` `\"GN\"` `\"GP\"` `\"GQ\"` `\"GR\"` `\"GS\"` `\"GT\"` `\"GU\"` `\"GW\"` `\"GY\"` `\"HK\"` `\"HM\"` `\"HN\"` `\"HR\"` `\"HT\"` `\"HU\"` `\"ID\"` `\"IE\"` `\"IL\"` `\"IM\"` `\"IN\"` `\"IO\"` `\"IQ\"` `\"IR\"` `\"IS\"` `\"IT\"` `\"JE\"` `\"JM\"` `\"JO\"` `\"JP\"` `\"KE\"` `\"KG\"` `\"KH\"` `\"KI\"` `\"KM\"` `\"KN\"` `\"KP\"` `\"KR\"` `\"KW\"` `\"KY\"` `\"KZ\"` `\"LA\"` `\"LB\"` `\"LC\"` `\"LI\"` `\"LK\"` `\"LR\"` `\"LS\"` `\"LT\"` `\"LU\"` `\"LV\"` `\"LY\"` `\"MA\"` `\"MC\"` `\"MD\"` `\"ME\"` `\"MF\"` `\"MG\"` `\"MH\"` `\"MK\"` `\"ML\"` `\"MM\"` `\"MN\"` `\"MO\"` `\"MP\"` `\"MQ\"` `\"MR\"` `\"MS\"` `\"MT\"` `\"MU\"` `\"MV\"` `\"MW\"` `\"MX\"` `\"MY\"` `\"MZ\"` `\"NA\"` `\"NC\"` `\"NE\"` `\"NF\"` `\"NG\"` `\"NI\"` `\"NL\"` `\"NO\"` `\"NP\"` `\"NR\"` `\"NU\"` `\"NZ\"` `\"OM\"` `\"OTHER\"` `\"PA\"` `\"PE\"` `\"PF\"` `\"PG\"` `\"PH\"` `\"PK\"` `\"PL\"` `\"PM\"` `\"PN\"` `\"PR\"` `\"PS\"` `\"PT\"` `\"PW\"` `\"PY\"` `\"QA\"` `\"RE\"` `\"RO\"` `\"RS\"` `\"RU\"` `\"RW\"` `\"SA\"` `\"SB\"` `\"SC\"` `\"SD\"` `\"SE\"` `\"SG\"` `\"SH\"` `\"SI\"` `\"SJ\"` `\"SK\"` `\"SL\"` `\"SM\"` `\"SN\"` `\"SO\"` `\"SR\"` `\"SS\"` `\"ST\"` `\"SV\"` `\"SX\"` `\"SY\"` `\"SZ\"` `\"TC\"` `\"TD\"` `\"TF\"` `\"TG\"` `\"TH\"` `\"TJ\"` `\"TK\"` `\"TL\"` `\"TM\"` `\"TN\"` `\"TO\"` `\"TR\"` `\"TT\"` `\"TV\"` `\"TW\"` `\"TZ\"` `\"UA\"` `\"UG\"` `\"UM\"` `\"US\"` `\"UY\"` `\"UZ\"` `\"VA\"` `\"VC\"` `\"VE\"` `\"VG\"` `\"VI\"` `\"VN\"` `\"VU\"` `\"WF\"` `\"WS\"` `\"YE\"` `\"YT\"` `\"ZA\"` `\"ZM\"` `\"ZW\"`\n\n**is_main_position**: Excludes positions in Ai Overview, Sitelinks, Top stories, Image packs, Videos, Discussions and forums, and posts on X (Twitter). \ntype: boolean\n\n**is_main_position_prev**: Excludes positions in Ai Overview, Sitelinks, Top stories, Image packs, Videos, Discussions and forums, and posts on X (Twitter) on the comparison date. \ntype: boolean\n\n**keyword**: The keyword your target ranks for. \ntype: string\n\n**keyword_difficulty**: An estimation of how hard it is to rank in the top 10 organic search results for a keyword on a 100-point scale. \ntype: integer nullable\n\n**keyword_has_data**: Will return `false` if the keyword is still processing and no SERP has been fetched yet. \ntype: boolean\n\n**keyword_is_frozen**: Indicates whether a keyword has exceeded the tracked keywords limit on your plan. Such keywords are \"frozen\", meaning they do not have their rankings updated. \ntype: boolean\n\n**language**: The SERP language that a given keyword is being tracked for. \ntype: string\n\n**location**: The location (country, state/province, or city) that a given keyword is being tracked in. \ntype: string\n\n**serp_features**: The SERP features that appear in search results for a keyword. \ntype: array(string) \nenum: `\"paid_top\"` `\"paid_bottom\"` `\"paid_right\"` `\"paid_sitelink\"` `\"organic\"` `\"sitelink\"` `\"snippet\"` `\"image\"` `\"article\"` `\"knowledge_card\"` `\"knowledge_panel\"` `\"local_pack\"` `\"local_teaser\"` `\"news\"` `\"question\"` `\"review\"` `\"shopping\"` `\"tweet\"` `\"spelling\"` `\"video\"` `\"discussion\"` `\"ai_overview\"` `\"ai_overview_sitelink\"` `\"organic_shopping\"` `\"image_th\"` `\"video_th\"` `\"ai_overview_found\"`\n\n**serp_updated**: The date when we last checked search engine results for a keyword. \ntype: datetime nullable\n\n**serp_updated_prev**: The date when we checked search engine results up to the comparison date. \ntype: datetime nullable\n\n**tags**: A list of tags assigned to a given keyword. \ntype: array(string)\n\n**volume**: An estimation of the average monthly number of searches for a keyword over the latest month or over the latest known 12 months of data depending on the \"volume_mode\" parameter. \ntype: integer nullable", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.", "required": true, "explode": false, "schema": { "type": "string" }, "name": "select", "in": "query" }, { "description": "A date to compare metrics with in YYYY-MM-DD format.", "required": false, "explode": false, "schema": { "type": "string", "format": "date" }, "name": "date_compared", "in": "query" }, { "description": "A date to report metrics on in YYYY-MM-DD format.", "required": true, "explode": false, "schema": { "type": "string", "format": "date" }, "name": "date", "in": "query" }, { "description": "Choose between mobile and desktop rankings.", "required": true, "explode": false, "schema": { "type": "string", "enum": [ "desktop", "mobile" ] }, "name": "device", "in": "query" }, { "description": "The unique identifier of the project. You can find it in the URL of your Rank Tracker project in Ahrefs: `https://app.ahrefs.com/rank-tracker/overview/#project_id#`", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "description": "The search volume calculation mode: monthly or average. It affects volume, traffic, and traffic value.", "required": false, "explode": false, "schema": { "type": "string", "enum": [ "monthly", "average" ], "default": "monthly" }, "name": "volume_mode", "in": "query" }, { "$ref": "#/components/parameters/output_json_php" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/competitors-overview" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/competitors-overview" } } } }, "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" } } } }, "/competitors-pages": { "get": { "tags": [ "Competitors Overview", "MCP" ], "summary": "Competitors pages", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "competitors-pages", "parameters": [ { "description": "A manual timeout duration in seconds.", "required": false, "explode": false, "schema": { "type": "integer" }, "name": "timeout", "in": "query" }, { "description": "The number of results to return.", "required": false, "explode": false, "schema": { "type": "integer", "default": 1000 }, "name": "limit", "in": "query" }, { "description": "A comma-separated list of columns to order results by, with optional direction. See response schema for valid column identifiers.", "required": false, "explode": false, "schema": { "type": "string", "examples": [ "field_a,field_b:asc,field_c:desc" ] }, "name": "order_by", "in": "query" }, { "description": "The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the `select` parameter).\n\n**country**: The country that a given keyword is being tracked in. A two-letter country code (ISO 3166-1 alpha-2). \ntype: string \nenum: `\"AD\"` `\"AE\"` `\"AF\"` `\"AG\"` `\"AI\"` `\"AL\"` `\"AM\"` `\"AO\"` `\"AQ\"` `\"AR\"` `\"AS\"` `\"AT\"` `\"AU\"` `\"AW\"` `\"AX\"` `\"AZ\"` `\"BA\"` `\"BB\"` `\"BD\"` `\"BE\"` `\"BF\"` `\"BG\"` `\"BH\"` `\"BI\"` `\"BJ\"` `\"BL\"` `\"BM\"` `\"BN\"` `\"BO\"` `\"BQ\"` `\"BR\"` `\"BS\"` `\"BT\"` `\"BV\"` `\"BW\"` `\"BY\"` `\"BZ\"` `\"CA\"` `\"CC\"` `\"CD\"` `\"CF\"` `\"CG\"` `\"CH\"` `\"CI\"` `\"CK\"` `\"CL\"` `\"CM\"` `\"CN\"` `\"CO\"` `\"CR\"` `\"CU\"` `\"CV\"` `\"CW\"` `\"CX\"` `\"CY\"` `\"CZ\"` `\"DE\"` `\"DJ\"` `\"DK\"` `\"DM\"` `\"DO\"` `\"DZ\"` `\"EC\"` `\"EE\"` `\"EG\"` `\"EH\"` `\"ER\"` `\"ES\"` `\"ET\"` `\"FI\"` `\"FJ\"` `\"FK\"` `\"FM\"` `\"FO\"` `\"FR\"` `\"GA\"` `\"GB\"` `\"GD\"` `\"GE\"` `\"GF\"` `\"GG\"` `\"GH\"` `\"GI\"` `\"GL\"` `\"GM\"` `\"GN\"` `\"GP\"` `\"GQ\"` `\"GR\"` `\"GS\"` `\"GT\"` `\"GU\"` `\"GW\"` `\"GY\"` `\"HK\"` `\"HM\"` `\"HN\"` `\"HR\"` `\"HT\"` `\"HU\"` `\"ID\"` `\"IE\"` `\"IL\"` `\"IM\"` `\"IN\"` `\"IO\"` `\"IQ\"` `\"IR\"` `\"IS\"` `\"IT\"` `\"JE\"` `\"JM\"` `\"JO\"` `\"JP\"` `\"KE\"` `\"KG\"` `\"KH\"` `\"KI\"` `\"KM\"` `\"KN\"` `\"KP\"` `\"KR\"` `\"KW\"` `\"KY\"` `\"KZ\"` `\"LA\"` `\"LB\"` `\"LC\"` `\"LI\"` `\"LK\"` `\"LR\"` `\"LS\"` `\"LT\"` `\"LU\"` `\"LV\"` `\"LY\"` `\"MA\"` `\"MC\"` `\"MD\"` `\"ME\"` `\"MF\"` `\"MG\"` `\"MH\"` `\"MK\"` `\"ML\"` `\"MM\"` `\"MN\"` `\"MO\"` `\"MP\"` `\"MQ\"` `\"MR\"` `\"MS\"` `\"MT\"` `\"MU\"` `\"MV\"` `\"MW\"` `\"MX\"` `\"MY\"` `\"MZ\"` `\"NA\"` `\"NC\"` `\"NE\"` `\"NF\"` `\"NG\"` `\"NI\"` `\"NL\"` `\"NO\"` `\"NP\"` `\"NR\"` `\"NU\"` `\"NZ\"` `\"OM\"` `\"OTHER\"` `\"PA\"` `\"PE\"` `\"PF\"` `\"PG\"` `\"PH\"` `\"PK\"` `\"PL\"` `\"PM\"` `\"PN\"` `\"PR\"` `\"PS\"` `\"PT\"` `\"PW\"` `\"PY\"` `\"QA\"` `\"RE\"` `\"RO\"` `\"RS\"` `\"RU\"` `\"RW\"` `\"SA\"` `\"SB\"` `\"SC\"` `\"SD\"` `\"SE\"` `\"SG\"` `\"SH\"` `\"SI\"` `\"SJ\"` `\"SK\"` `\"SL\"` `\"SM\"` `\"SN\"` `\"SO\"` `\"SR\"` `\"SS\"` `\"ST\"` `\"SV\"` `\"SX\"` `\"SY\"` `\"SZ\"` `\"TC\"` `\"TD\"` `\"TF\"` `\"TG\"` `\"TH\"` `\"TJ\"` `\"TK\"` `\"TL\"` `\"TM\"` `\"TN\"` `\"TO\"` `\"TR\"` `\"TT\"` `\"TV\"` `\"TW\"` `\"TZ\"` `\"UA\"` `\"UG\"` `\"UM\"` `\"US\"` `\"UY\"` `\"UZ\"` `\"VA\"` `\"VC\"` `\"VE\"` `\"VG\"` `\"VI\"` `\"VN\"` `\"VU\"` `\"WF\"` `\"WS\"` `\"YE\"` `\"YT\"` `\"ZA\"` `\"ZM\"` `\"ZW\"`\n\n**country_prev**: The country that a given keyword is being tracked in on the comparison date. A two-letter country code (ISO 3166-1 alpha-2). \ntype: string \nenum: `\"AD\"` `\"AE\"` `\"AF\"` `\"AG\"` `\"AI\"` `\"AL\"` `\"AM\"` `\"AO\"` `\"AQ\"` `\"AR\"` `\"AS\"` `\"AT\"` `\"AU\"` `\"AW\"` `\"AX\"` `\"AZ\"` `\"BA\"` `\"BB\"` `\"BD\"` `\"BE\"` `\"BF\"` `\"BG\"` `\"BH\"` `\"BI\"` `\"BJ\"` `\"BL\"` `\"BM\"` `\"BN\"` `\"BO\"` `\"BQ\"` `\"BR\"` `\"BS\"` `\"BT\"` `\"BV\"` `\"BW\"` `\"BY\"` `\"BZ\"` `\"CA\"` `\"CC\"` `\"CD\"` `\"CF\"` `\"CG\"` `\"CH\"` `\"CI\"` `\"CK\"` `\"CL\"` `\"CM\"` `\"CN\"` `\"CO\"` `\"CR\"` `\"CU\"` `\"CV\"` `\"CW\"` `\"CX\"` `\"CY\"` `\"CZ\"` `\"DE\"` `\"DJ\"` `\"DK\"` `\"DM\"` `\"DO\"` `\"DZ\"` `\"EC\"` `\"EE\"` `\"EG\"` `\"EH\"` `\"ER\"` `\"ES\"` `\"ET\"` `\"FI\"` `\"FJ\"` `\"FK\"` `\"FM\"` `\"FO\"` `\"FR\"` `\"GA\"` `\"GB\"` `\"GD\"` `\"GE\"` `\"GF\"` `\"GG\"` `\"GH\"` `\"GI\"` `\"GL\"` `\"GM\"` `\"GN\"` `\"GP\"` `\"GQ\"` `\"GR\"` `\"GS\"` `\"GT\"` `\"GU\"` `\"GW\"` `\"GY\"` `\"HK\"` `\"HM\"` `\"HN\"` `\"HR\"` `\"HT\"` `\"HU\"` `\"ID\"` `\"IE\"` `\"IL\"` `\"IM\"` `\"IN\"` `\"IO\"` `\"IQ\"` `\"IR\"` `\"IS\"` `\"IT\"` `\"JE\"` `\"JM\"` `\"JO\"` `\"JP\"` `\"KE\"` `\"KG\"` `\"KH\"` `\"KI\"` `\"KM\"` `\"KN\"` `\"KP\"` `\"KR\"` `\"KW\"` `\"KY\"` `\"KZ\"` `\"LA\"` `\"LB\"` `\"LC\"` `\"LI\"` `\"LK\"` `\"LR\"` `\"LS\"` `\"LT\"` `\"LU\"` `\"LV\"` `\"LY\"` `\"MA\"` `\"MC\"` `\"MD\"` `\"ME\"` `\"MF\"` `\"MG\"` `\"MH\"` `\"MK\"` `\"ML\"` `\"MM\"` `\"MN\"` `\"MO\"` `\"MP\"` `\"MQ\"` `\"MR\"` `\"MS\"` `\"MT\"` `\"MU\"` `\"MV\"` `\"MW\"` `\"MX\"` `\"MY\"` `\"MZ\"` `\"NA\"` `\"NC\"` `\"NE\"` `\"NF\"` `\"NG\"` `\"NI\"` `\"NL\"` `\"NO\"` `\"NP\"` `\"NR\"` `\"NU\"` `\"NZ\"` `\"OM\"` `\"OTHER\"` `\"PA\"` `\"PE\"` `\"PF\"` `\"PG\"` `\"PH\"` `\"PK\"` `\"PL\"` `\"PM\"` `\"PN\"` `\"PR\"` `\"PS\"` `\"PT\"` `\"PW\"` `\"PY\"` `\"QA\"` `\"RE\"` `\"RO\"` `\"RS\"` `\"RU\"` `\"RW\"` `\"SA\"` `\"SB\"` `\"SC\"` `\"SD\"` `\"SE\"` `\"SG\"` `\"SH\"` `\"SI\"` `\"SJ\"` `\"SK\"` `\"SL\"` `\"SM\"` `\"SN\"` `\"SO\"` `\"SR\"` `\"SS\"` `\"ST\"` `\"SV\"` `\"SX\"` `\"SY\"` `\"SZ\"` `\"TC\"` `\"TD\"` `\"TF\"` `\"TG\"` `\"TH\"` `\"TJ\"` `\"TK\"` `\"TL\"` `\"TM\"` `\"TN\"` `\"TO\"` `\"TR\"` `\"TT\"` `\"TV\"` `\"TW\"` `\"TZ\"` `\"UA\"` `\"UG\"` `\"UM\"` `\"US\"` `\"UY\"` `\"UZ\"` `\"VA\"` `\"VC\"` `\"VE\"` `\"VG\"` `\"VI\"` `\"VN\"` `\"VU\"` `\"WF\"` `\"WS\"` `\"YE\"` `\"YT\"` `\"ZA\"` `\"ZM\"` `\"ZW\"`\n\n**domain**: The page domain. \ntype: string\n\n**keyword**: The keyword your target ranks for. \ntype: string\n\n**keyword_prev**: The keyword your target ranks for on the comparison date. \ntype: string\n\n**language**: The SERP language that a given keyword is being tracked for. \ntype: string\n\n**language_prev**: The SERP language on the comparison date. \ntype: string\n\n**location**: The location (country, state/province, or city) that a given keyword is being tracked in. \ntype: string\n\n**location_prev**: The location (country, state/province, or city) that a given keyword is being tracked in on the comparison date. \ntype: string\n\n**tags**: A list of tags assigned to a given keyword. \ntype: array(string)\n\n**tags_prev**: A list of tags assigned to a given keyword on the comparison date. \ntype: array(string)\n\n**url**: The page URL. \ntype: string", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.", "required": true, "explode": false, "schema": { "type": "string" }, "name": "select", "in": "query" }, { "description": "Restrict pages to target and tracked competitors", "required": false, "explode": false, "schema": { "type": "boolean", "default": false }, "name": "target_and_tracked_competitors_only", "in": "query" }, { "description": "A date to compare metrics with in YYYY-MM-DD format.", "required": false, "explode": false, "schema": { "type": "string", "format": "date" }, "name": "date_compared", "in": "query" }, { "description": "A date to report metrics on in YYYY-MM-DD format.", "required": true, "explode": false, "schema": { "type": "string", "format": "date" }, "name": "date", "in": "query" }, { "description": "Choose between mobile and desktop rankings.", "required": true, "explode": false, "schema": { "type": "string", "enum": [ "desktop", "mobile" ] }, "name": "device", "in": "query" }, { "description": "The unique identifier of the project. You can find it in the URL of your Rank Tracker project in Ahrefs: `https://app.ahrefs.com/rank-tracker/overview/#project_id#`", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "description": "The search volume calculation mode: monthly or average. It affects volume, traffic, and traffic value.", "required": false, "explode": false, "schema": { "type": "string", "enum": [ "monthly", "average" ], "default": "monthly" }, "name": "volume_mode", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/competitors-pages" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/competitors-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" } } } }, "/competitors-domains": { "get": { "tags": [ "Competitors Overview", "MCP" ], "summary": "Competitors domains", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "competitors-domains", "parameters": [ { "description": "A manual timeout duration in seconds.", "required": false, "explode": false, "schema": { "type": "integer" }, "name": "timeout", "in": "query" }, { "description": "The number of results to return.", "required": false, "explode": false, "schema": { "type": "integer", "default": 1000 }, "name": "limit", "in": "query" }, { "description": "A comma-separated list of columns to order results by, with optional direction. See response schema for valid column identifiers.", "required": false, "explode": false, "schema": { "type": "string", "examples": [ "field_a,field_b:asc,field_c:desc" ] }, "name": "order_by", "in": "query" }, { "description": "The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the `select` parameter).\n\n**country**: The country that a given keyword is being tracked in. A two-letter country code (ISO 3166-1 alpha-2). \ntype: string \nenum: `\"AD\"` `\"AE\"` `\"AF\"` `\"AG\"` `\"AI\"` `\"AL\"` `\"AM\"` `\"AO\"` `\"AQ\"` `\"AR\"` `\"AS\"` `\"AT\"` `\"AU\"` `\"AW\"` `\"AX\"` `\"AZ\"` `\"BA\"` `\"BB\"` `\"BD\"` `\"BE\"` `\"BF\"` `\"BG\"` `\"BH\"` `\"BI\"` `\"BJ\"` `\"BL\"` `\"BM\"` `\"BN\"` `\"BO\"` `\"BQ\"` `\"BR\"` `\"BS\"` `\"BT\"` `\"BV\"` `\"BW\"` `\"BY\"` `\"BZ\"` `\"CA\"` `\"CC\"` `\"CD\"` `\"CF\"` `\"CG\"` `\"CH\"` `\"CI\"` `\"CK\"` `\"CL\"` `\"CM\"` `\"CN\"` `\"CO\"` `\"CR\"` `\"CU\"` `\"CV\"` `\"CW\"` `\"CX\"` `\"CY\"` `\"CZ\"` `\"DE\"` `\"DJ\"` `\"DK\"` `\"DM\"` `\"DO\"` `\"DZ\"` `\"EC\"` `\"EE\"` `\"EG\"` `\"EH\"` `\"ER\"` `\"ES\"` `\"ET\"` `\"FI\"` `\"FJ\"` `\"FK\"` `\"FM\"` `\"FO\"` `\"FR\"` `\"GA\"` `\"GB\"` `\"GD\"` `\"GE\"` `\"GF\"` `\"GG\"` `\"GH\"` `\"GI\"` `\"GL\"` `\"GM\"` `\"GN\"` `\"GP\"` `\"GQ\"` `\"GR\"` `\"GS\"` `\"GT\"` `\"GU\"` `\"GW\"` `\"GY\"` `\"HK\"` `\"HM\"` `\"HN\"` `\"HR\"` `\"HT\"` `\"HU\"` `\"ID\"` `\"IE\"` `\"IL\"` `\"IM\"` `\"IN\"` `\"IO\"` `\"IQ\"` `\"IR\"` `\"IS\"` `\"IT\"` `\"JE\"` `\"JM\"` `\"JO\"` `\"JP\"` `\"KE\"` `\"KG\"` `\"KH\"` `\"KI\"` `\"KM\"` `\"KN\"` `\"KP\"` `\"KR\"` `\"KW\"` `\"KY\"` `\"KZ\"` `\"LA\"` `\"LB\"` `\"LC\"` `\"LI\"` `\"LK\"` `\"LR\"` `\"LS\"` `\"LT\"` `\"LU\"` `\"LV\"` `\"LY\"` `\"MA\"` `\"MC\"` `\"MD\"` `\"ME\"` `\"MF\"` `\"MG\"` `\"MH\"` `\"MK\"` `\"ML\"` `\"MM\"` `\"MN\"` `\"MO\"` `\"MP\"` `\"MQ\"` `\"MR\"` `\"MS\"` `\"MT\"` `\"MU\"` `\"MV\"` `\"MW\"` `\"MX\"` `\"MY\"` `\"MZ\"` `\"NA\"` `\"NC\"` `\"NE\"` `\"NF\"` `\"NG\"` `\"NI\"` `\"NL\"` `\"NO\"` `\"NP\"` `\"NR\"` `\"NU\"` `\"NZ\"` `\"OM\"` `\"OTHER\"` `\"PA\"` `\"PE\"` `\"PF\"` `\"PG\"` `\"PH\"` `\"PK\"` `\"PL\"` `\"PM\"` `\"PN\"` `\"PR\"` `\"PS\"` `\"PT\"` `\"PW\"` `\"PY\"` `\"QA\"` `\"RE\"` `\"RO\"` `\"RS\"` `\"RU\"` `\"RW\"` `\"SA\"` `\"SB\"` `\"SC\"` `\"SD\"` `\"SE\"` `\"SG\"` `\"SH\"` `\"SI\"` `\"SJ\"` `\"SK\"` `\"SL\"` `\"SM\"` `\"SN\"` `\"SO\"` `\"SR\"` `\"SS\"` `\"ST\"` `\"SV\"` `\"SX\"` `\"SY\"` `\"SZ\"` `\"TC\"` `\"TD\"` `\"TF\"` `\"TG\"` `\"TH\"` `\"TJ\"` `\"TK\"` `\"TL\"` `\"TM\"` `\"TN\"` `\"TO\"` `\"TR\"` `\"TT\"` `\"TV\"` `\"TW\"` `\"TZ\"` `\"UA\"` `\"UG\"` `\"UM\"` `\"US\"` `\"UY\"` `\"UZ\"` `\"VA\"` `\"VC\"` `\"VE\"` `\"VG\"` `\"VI\"` `\"VN\"` `\"VU\"` `\"WF\"` `\"WS\"` `\"YE\"` `\"YT\"` `\"ZA\"` `\"ZM\"` `\"ZW\"`\n\n**country_prev**: The country that a given keyword is being tracked in on the comparison date. A two-letter country code (ISO 3166-1 alpha-2). \ntype: string \nenum: `\"AD\"` `\"AE\"` `\"AF\"` `\"AG\"` `\"AI\"` `\"AL\"` `\"AM\"` `\"AO\"` `\"AQ\"` `\"AR\"` `\"AS\"` `\"AT\"` `\"AU\"` `\"AW\"` `\"AX\"` `\"AZ\"` `\"BA\"` `\"BB\"` `\"BD\"` `\"BE\"` `\"BF\"` `\"BG\"` `\"BH\"` `\"BI\"` `\"BJ\"` `\"BL\"` `\"BM\"` `\"BN\"` `\"BO\"` `\"BQ\"` `\"BR\"` `\"BS\"` `\"BT\"` `\"BV\"` `\"BW\"` `\"BY\"` `\"BZ\"` `\"CA\"` `\"CC\"` `\"CD\"` `\"CF\"` `\"CG\"` `\"CH\"` `\"CI\"` `\"CK\"` `\"CL\"` `\"CM\"` `\"CN\"` `\"CO\"` `\"CR\"` `\"CU\"` `\"CV\"` `\"CW\"` `\"CX\"` `\"CY\"` `\"CZ\"` `\"DE\"` `\"DJ\"` `\"DK\"` `\"DM\"` `\"DO\"` `\"DZ\"` `\"EC\"` `\"EE\"` `\"EG\"` `\"EH\"` `\"ER\"` `\"ES\"` `\"ET\"` `\"FI\"` `\"FJ\"` `\"FK\"` `\"FM\"` `\"FO\"` `\"FR\"` `\"GA\"` `\"GB\"` `\"GD\"` `\"GE\"` `\"GF\"` `\"GG\"` `\"GH\"` `\"GI\"` `\"GL\"` `\"GM\"` `\"GN\"` `\"GP\"` `\"GQ\"` `\"GR\"` `\"GS\"` `\"GT\"` `\"GU\"` `\"GW\"` `\"GY\"` `\"HK\"` `\"HM\"` `\"HN\"` `\"HR\"` `\"HT\"` `\"HU\"` `\"ID\"` `\"IE\"` `\"IL\"` `\"IM\"` `\"IN\"` `\"IO\"` `\"IQ\"` `\"IR\"` `\"IS\"` `\"IT\"` `\"JE\"` `\"JM\"` `\"JO\"` `\"JP\"` `\"KE\"` `\"KG\"` `\"KH\"` `\"KI\"` `\"KM\"` `\"KN\"` `\"KP\"` `\"KR\"` `\"KW\"` `\"KY\"` `\"KZ\"` `\"LA\"` `\"LB\"` `\"LC\"` `\"LI\"` `\"LK\"` `\"LR\"` `\"LS\"` `\"LT\"` `\"LU\"` `\"LV\"` `\"LY\"` `\"MA\"` `\"MC\"` `\"MD\"` `\"ME\"` `\"MF\"` `\"MG\"` `\"MH\"` `\"MK\"` `\"ML\"` `\"MM\"` `\"MN\"` `\"MO\"` `\"MP\"` `\"MQ\"` `\"MR\"` `\"MS\"` `\"MT\"` `\"MU\"` `\"MV\"` `\"MW\"` `\"MX\"` `\"MY\"` `\"MZ\"` `\"NA\"` `\"NC\"` `\"NE\"` `\"NF\"` `\"NG\"` `\"NI\"` `\"NL\"` `\"NO\"` `\"NP\"` `\"NR\"` `\"NU\"` `\"NZ\"` `\"OM\"` `\"OTHER\"` `\"PA\"` `\"PE\"` `\"PF\"` `\"PG\"` `\"PH\"` `\"PK\"` `\"PL\"` `\"PM\"` `\"PN\"` `\"PR\"` `\"PS\"` `\"PT\"` `\"PW\"` `\"PY\"` `\"QA\"` `\"RE\"` `\"RO\"` `\"RS\"` `\"RU\"` `\"RW\"` `\"SA\"` `\"SB\"` `\"SC\"` `\"SD\"` `\"SE\"` `\"SG\"` `\"SH\"` `\"SI\"` `\"SJ\"` `\"SK\"` `\"SL\"` `\"SM\"` `\"SN\"` `\"SO\"` `\"SR\"` `\"SS\"` `\"ST\"` `\"SV\"` `\"SX\"` `\"SY\"` `\"SZ\"` `\"TC\"` `\"TD\"` `\"TF\"` `\"TG\"` `\"TH\"` `\"TJ\"` `\"TK\"` `\"TL\"` `\"TM\"` `\"TN\"` `\"TO\"` `\"TR\"` `\"TT\"` `\"TV\"` `\"TW\"` `\"TZ\"` `\"UA\"` `\"UG\"` `\"UM\"` `\"US\"` `\"UY\"` `\"UZ\"` `\"VA\"` `\"VC\"` `\"VE\"` `\"VG\"` `\"VI\"` `\"VN\"` `\"VU\"` `\"WF\"` `\"WS\"` `\"YE\"` `\"YT\"` `\"ZA\"` `\"ZM\"` `\"ZW\"`\n\n**domain**: The page domain. \ntype: domain\n\n**keyword**: The keyword your target ranks for. \ntype: string\n\n**keyword_prev**: The keyword your target ranks for on the comparison date. \ntype: string\n\n**language**: The SERP language that a given keyword is being tracked for. \ntype: string\n\n**language_prev**: The SERP language on the comparison date. \ntype: string\n\n**location**: The location (country, state/province, or city) that a given keyword is being tracked in. \ntype: string\n\n**location_prev**: The location (country, state/province, or city) that a given keyword is being tracked in on the comparison date. \ntype: string\n\n**tags**: A list of tags assigned to a given keyword. \ntype: array(string)\n\n**tags_prev**: A list of tags assigned to a given keyword on the comparison date. \ntype: array(string)", "required": false, "explode": false, "schema": { "type": "string" }, "name": "where", "in": "query" }, { "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.", "required": true, "explode": false, "schema": { "type": "string" }, "name": "select", "in": "query" }, { "description": "Restrict domains to target and tracked competitors", "required": false, "explode": false, "schema": { "type": "boolean", "default": false }, "name": "target_and_tracked_competitors_only", "in": "query" }, { "description": "A date to compare metrics with in YYYY-MM-DD format.", "required": false, "explode": false, "schema": { "type": "string", "format": "date" }, "name": "date_compared", "in": "query" }, { "description": "A date to report metrics on in YYYY-MM-DD format.", "required": true, "explode": false, "schema": { "type": "string", "format": "date" }, "name": "date", "in": "query" }, { "description": "Choose between mobile and desktop rankings.", "required": true, "explode": false, "schema": { "type": "string", "enum": [ "desktop", "mobile" ] }, "name": "device", "in": "query" }, { "description": "The unique identifier of the project. You can find it in the URL of your Rank Tracker project in Ahrefs: `https://app.ahrefs.com/rank-tracker/overview/#project_id#`", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "description": "The search volume calculation mode: monthly or average. It affects volume, traffic, and traffic value.", "required": false, "explode": false, "schema": { "type": "string", "enum": [ "monthly", "average" ], "default": "monthly" }, "name": "volume_mode", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/competitors-domains" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/competitors-domains" } } } }, "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" } } } }, "/serp-overview": { "get": { "tags": [ "Overview", "MCP" ], "summary": "SERP Overview", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "serp-overview", "parameters": [ { "description": "The number of top organic SERP positions to return. If not specified, all available positions will be returned.", "required": false, "explode": false, "schema": { "type": "integer" }, "name": "top_positions", "in": "query" }, { "description": "Choose between mobile and desktop rankings.", "required": true, "explode": false, "schema": { "type": "string", "enum": [ "desktop", "mobile" ] }, "name": "device", "in": "query" }, { "description": "A timestamp on which the last available SERP Overview is returned in YYYY-MM-DDThh:mm:ss format. If it is not specified, the most recent SERP Overview is returned.", "required": false, "explode": false, "schema": { "type": "string", "format": "date-time" }, "name": "date", "in": "query" }, { "description": "The location ID of a tracked keyword.You can use the `management/project-keywords` endpoint to get country codes, language codes and location IDs for your tracked keywords.", "required": false, "explode": false, "schema": { "type": "integer" }, "name": "location_id", "in": "query" }, { "description": "A two-letter country code (ISO 3166-1 alpha-2).", "required": true, "explode": false, "schema": { "type": "string", "enum": [ "ad", "ae", "af", "ag", "ai", "al", "am", "ao", "ar", "as", "at", "au", "aw", "az", "ba", "bb", "bd", "be", "bf", "bg", "bh", "bi", "bj", "bn", "bo", "br", "bs", "bt", "bw", "by", "bz", "ca", "cd", "cf", "cg", "ch", "ci", "ck", "cl", "cm", "cn", "co", "cr", "cu", "cv", "cy", "cz", "de", "dj", "dk", "dm", "do", "dz", "ec", "ee", "eg", "es", "et", "fi", "fj", "fm", "fo", "fr", "ga", "gb", "gd", "ge", "gf", "gg", "gh", "gi", "gl", "gm", "gn", "gp", "gq", "gr", "gt", "gu", "gy", "hk", "hn", "hr", "ht", "hu", "id", "ie", "il", "im", "in", "iq", "is", "it", "je", "jm", "jo", "jp", "ke", "kg", "kh", "ki", "kn", "kr", "kw", "ky", "kz", "la", "lb", "lc", "li", "lk", "ls", "lt", "lu", "lv", "ly", "ma", "mc", "md", "me", "mg", "mk", "ml", "mm", "mn", "mq", "mr", "ms", "mt", "mu", "mv", "mw", "mx", "my", "mz", "na", "nc", "ne", "ng", "ni", "nl", "no", "np", "nr", "nu", "nz", "om", "pa", "pe", "pf", "pg", "ph", "pk", "pl", "pn", "pr", "ps", "pt", "py", "qa", "re", "ro", "rs", "ru", "rw", "sa", "sb", "sc", "se", "sg", "sh", "si", "sk", "sl", "sm", "sn", "so", "sr", "st", "sv", "td", "tg", "th", "tj", "tk", "tl", "tm", "tn", "to", "tr", "tt", "tw", "tz", "ua", "ug", "us", "uy", "uz", "vc", "ve", "vg", "vi", "vn", "vu", "ws", "ye", "yt", "za", "zm", "zw" ] }, "name": "country", "in": "query" }, { "description": "The language code of a tracked keyword.You can use the `management/project-keywords` endpoint to get country codes, language codes and location IDs for your tracked keywords.", "required": false, "explode": false, "schema": { "type": "string" }, "name": "language_code", "in": "query" }, { "description": "The keyword to return SERP Overview for.", "required": true, "explode": false, "schema": { "type": "string" }, "name": "keyword", "in": "query" }, { "description": "The unique identifier of the project. You can find it in the URL of your Rank Tracker project in Ahrefs: `https://app.ahrefs.com/rank-tracker/overview/#project_id#`", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/serp-overview" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/serp-overview" } } } }, "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" } } } }, "/competitors-stats": { "get": { "tags": [ "Competitors Overview", "MCP" ], "summary": "Competitors metrics", "description": ">Requests to this endpoint are free and do not consume any API units.", "operationId": "competitors-stats", "parameters": [ { "description": "A comma-separated list of columns to return. See response schema for valid column identifiers.", "required": true, "explode": false, "schema": { "type": "string" }, "name": "select", "in": "query" }, { "description": "A date to report metrics on in YYYY-MM-DD format.", "required": true, "explode": false, "schema": { "type": "string", "format": "date" }, "name": "date", "in": "query" }, { "description": "Choose between mobile and desktop rankings.", "required": true, "explode": false, "schema": { "type": "string", "enum": [ "desktop", "mobile" ] }, "name": "device", "in": "query" }, { "description": "The unique identifier of the project. You can find it in the URL of your Rank Tracker project in Ahrefs: `https://app.ahrefs.com/rank-tracker/overview/#project_id#`", "required": true, "explode": false, "schema": { "type": "integer" }, "name": "project_id", "in": "query" }, { "description": "The search volume calculation mode: monthly or average. It affects volume, traffic, and traffic value.", "required": false, "explode": false, "schema": { "type": "string", "enum": [ "monthly", "average" ], "default": "monthly" }, "name": "volume_mode", "in": "query" }, { "$ref": "#/components/parameters/output" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/competitors-stats" } }, "application/xml": { "schema": { "$ref": "#/components/schemas/competitors-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" } } } } }, "components": { "schemas": { "Error response": { "properties": { "error": { "type": "string" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "overview": { "properties": { "overviews": { "items": { "properties": { "best_position_has_thumbnail": { "type": [ "boolean", "null" ], "title": "best_position_has_thumbnail", "description": "The top position (or target URL’s, if set) has a thumbnail." }, "best_position_has_thumbnail_previous": { "type": [ "boolean", "null" ], "title": "best_position_has_thumbnail_previous", "description": "The top position (or target URL’s, if set) has a thumbnail on the comparison date." }, "best_position_has_video_preview": { "type": [ "boolean", "null" ], "title": "best_position_has_video_preview", "description": "The top position (or target URL’s, if set) has a video preview." }, "best_position_has_video_preview_previous": { "type": [ "boolean", "null" ], "title": "best_position_has_video_preview_previous", "description": "The top position (or target URL’s, if set) has a video preview on the comparison date." }, "best_position_kind": { "type": [ "string", "null" ], "enum": [ "paid_top", "paid_bottom", "paid_right", "paid_sitelink", "organic", "sitelink", "snippet", "image", "article", "knowledge_card", "knowledge_panel", "local_pack", "local_teaser", "news", "question", "review", "shopping", "tweet", "spelling", "video", "discussion", "ai_overview", "ai_overview_sitelink", "organic_shopping" ], "title": "best_position_kind", "description": "The kind of top position (or target URL’s, if set): organic, paid, or a SERP feature." }, "best_position_kind_previous": { "type": [ "string", "null" ], "enum": [ "paid_top", "paid_bottom", "paid_right", "paid_sitelink", "organic", "sitelink", "snippet", "image", "article", "knowledge_card", "knowledge_panel", "local_pack", "local_teaser", "news", "question", "review", "shopping", "tweet", "spelling", "video", "discussion", "ai_overview", "ai_overview_sitelink", "organic_shopping" ], "title": "best_position_kind_previous", "description": "The kind of top position (or target URL’s, if set) on the comparison date." }, "clicks": { "type": [ "integer", "null" ], "title": "clicks", "description": "Clicks metric refers to the average monthly number of clicks on the search results that people make while searching for the target keyword. Some searches generate clicks on multiple results, while others might not end in any clicks at all." }, "clicks_per_search": { "type": [ "number", "null" ], "format": "float", "title": "clicks_per_search", "description": "Clicks Per Search is the ratio of Clicks to Keyword Search volume. It shows how many different search results get clicked, on average, when people search for the target keyword in a given country." }, "cost_per_click": { "type": [ "integer", "null" ], "title": "cost_per_click", "description": "Cost Per Click shows the average price that advertisers pay for each ad click in paid search results for a keyword." }, "country": { "type": "string", "enum": [ "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AX", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "BQ", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CU", "CV", "CW", "CX", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FM", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IR", "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MF", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "OTHER", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PW", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "SS", "ST", "SV", "SX", "SY", "SZ", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "UM", "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VI", "VN", "VU", "WF", "WS", "YE", "YT", "ZA", "ZM", "ZW" ], "title": "country", "description": "The country that a given keyword is being tracked in. A two-letter country code (ISO 3166-1 alpha-2)." }, "country_prev": { "type": "string", "enum": [ "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AX", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "BQ", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CU", "CV", "CW", "CX", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FM", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IR", "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MF", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "OTHER", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PW", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "SS", "ST", "SV", "SX", "SY", "SZ", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "UM", "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VI", "VN", "VU", "WF", "WS", "YE", "YT", "ZA", "ZM", "ZW" ], "title": "country_prev", "description": "The country that a given keyword is being tracked in on the comparison date. A two-letter country code (ISO 3166-1 alpha-2)." }, "created_at": { "type": "string", "format": "date-time", "title": "created_at", "description": "The date when a keyword was added to the project." }, "is_branded": { "type": "boolean", "title": "is_branded", "description": "User intent: branded. The user is searching for a specific brand or company name." }, "is_commercial": { "type": "boolean", "title": "is_commercial", "description": "User intent: commercial. The user is comparing products or services before making a purchase decision." }, "is_informational": { "type": "boolean", "title": "is_informational", "description": "User intent: informational. The user is looking for information or an answer to a specific question." }, "is_local": { "type": "boolean", "title": "is_local", "description": "User intent: local. The user is looking for information relevant to a specific location or nearby services." }, "is_navigational": { "type": "boolean", "title": "is_navigational", "description": "User intent: navigational. The user is searching for a specific website or web page." }, "is_transactional": { "type": "boolean", "title": "is_transactional", "description": "User intent: transactional. The user is ready to complete an action, often a purchase." }, "keyword": { "type": "string", "title": "keyword", "description": "The keyword your target ranks for." }, "keyword_difficulty": { "type": [ "integer", "null" ], "title": "keyword_difficulty", "description": "An estimation of how hard it is to rank in the top 10 organic search results for a keyword on a 100-point scale." }, "keyword_has_data": { "type": "boolean", "title": "keyword_has_data", "description": "Will return `false` if the keyword is still processing and no SERP has been fetched yet." }, "keyword_is_frozen": { "type": "boolean", "title": "keyword_is_frozen", "description": "Indicates whether a keyword has exceeded the tracked keywords limit on your plan. Such keywords are \"frozen\", meaning they do not have their rankings updated." }, "keyword_prev": { "type": "string", "title": "keyword_prev", "description": "The keyword your target ranks for on the comparison date." }, "language": { "type": "string", "title": "language", "description": "The SERP language that a given keyword is being tracked for." }, "language_prev": { "type": "string", "title": "language_prev", "description": "The SERP language on the comparison date." }, "location": { "type": "string", "title": "location", "description": "The location (country, state/province, or city) that a given keyword is being tracked in." }, "location_prev": { "type": "string", "title": "location_prev", "description": "The location (country, state/province, or city) that a given keyword is being tracked in on the comparison date." }, "parent_topic": { "type": [ "string", "null" ], "title": "parent_topic", "description": "Parent Topic determines if you can rank for your target keyword while targeting a more general topic on your page instead. To identify the Parent Topic, we take the #1 ranking page for your keyword and find the keyword responsible for sending the most traffic to that page." }, "position": { "type": [ "integer", "null" ], "title": "position", "description": "The top position (or target URL’s, if set) in organic search." }, "position_diff": { "type": [ "integer", "null" ], "title": "position_diff", "description": "The change in top position (or target URL’s, if set) between selected dates." }, "position_prev": { "type": [ "integer", "null" ], "title": "position_prev", "description": "The top position (or target URL’s, if set) on the comparison date." }, "search_type_image": { "type": [ "number", "null" ], "format": "float", "title": "search_type_image", "description": "Search type Image shows the percentage of searches for a keyword made for images, highlighting interest in visual content." }, "search_type_news": { "type": [ "number", "null" ], "format": "float", "title": "search_type_news", "description": "Search type News shows the percentage of searches for a keyword made for news articles." }, "search_type_video": { "type": [ "number", "null" ], "format": "float", "title": "search_type_video", "description": "Search type Video shows the percentage of searches for a keyword made for video, reflecting interest in video content." }, "search_type_web": { "type": [ "number", "null" ], "format": "float", "title": "search_type_web", "description": "Search type Web shows the percentage of searches for a keyword made for general web content, indicating interest in a wide range of information." }, "serp_features": { "items": { "type": "string", "enum": [ "paid_top", "paid_bottom", "paid_right", "paid_sitelink", "organic", "sitelink", "snippet", "image", "article", "knowledge_card", "knowledge_panel", "local_pack", "local_teaser", "news", "question", "review", "shopping", "tweet", "spelling", "video", "discussion", "ai_overview", "ai_overview_sitelink", "organic_shopping", "image_th", "video_th", "ai_overview_found" ], "title": "serp_features", "description": "The SERP features that appear in search results for a keyword." }, "type": "array", "title": "serp_features", "description": "The SERP features that appear in search results for a keyword." }, "serp_features_prev": { "items": { "type": "string", "enum": [ "paid_top", "paid_bottom", "paid_right", "paid_sitelink", "organic", "sitelink", "snippet", "image", "article", "knowledge_card", "knowledge_panel", "local_pack", "local_teaser", "news", "question", "review", "shopping", "tweet", "spelling", "video", "discussion", "ai_overview", "ai_overview_sitelink", "organic_shopping", "image_th", "video_th", "ai_overview_found" ], "title": "serp_features_prev", "description": "The SERP features that appear in search results for a keyword on the comparison date." }, "type": "array", "title": "serp_features_prev", "description": "The SERP features that appear in search results for a keyword on the comparison date." }, "serp_updated": { "type": [ "string", "null" ], "format": "date-time", "title": "serp_updated", "description": "The date when we last checked search engine results for a keyword." }, "serp_updated_prev": { "type": [ "string", "null" ], "format": "date-time", "title": "serp_updated_prev", "description": "The date when we checked search engine results up to the comparison date." }, "tags": { "items": { "type": "string", "title": "tags", "description": "A list of tags assigned to a given keyword." }, "type": "array", "title": "tags", "description": "A list of tags assigned to a given keyword." }, "tags_prev": { "items": { "type": "string", "title": "tags_prev", "description": "A list of tags assigned to a given keyword on the comparison date." }, "type": "array", "title": "tags_prev", "description": "A list of tags assigned to a given keyword on the comparison date." }, "target_positions_count": { "type": "integer", "title": "target_positions_count", "description": "The number of target URLs ranking for a keyword." }, "traffic": { "type": [ "integer", "null" ], "title": "traffic", "description": "An estimation of the number of monthly visits that a page gets from organic search over the latest month or over the latest known 12 months of data depending on the \"volume_mode\" parameter." }, "traffic_diff": { "type": [ "integer", "null" ], "title": "traffic_diff", "description": "The change in traffic between your selected dates." }, "traffic_prev": { "type": [ "integer", "null" ], "title": "traffic_prev", "description": "An estimation of the number of monthly visits that a page gets from organic search over the latest month or over the latest known 12 months of data depending on the \"volume_mode\" parameter." }, "url": { "type": [ "string", "null" ], "format": "url", "title": "url", "description": "The top-ranking URL (or target URL, if set) in organic search." }, "url_prev": { "type": [ "string", "null" ], "format": "url", "title": "url_prev", "description": "The top-ranking URL (or target URL, if set) on the comparison date." }, "volume": { "type": [ "integer", "null" ], "title": "volume", "description": "An estimation of the average monthly number of searches for a keyword over the latest month or over the latest known 12 months of data depending on the \"volume_mode\" parameter." }, "volume_desktop_pct": { "type": [ "number", "null" ], "format": "float", "title": "volume_desktop_pct", "description": "The percentage of the total search volume that comes from desktop devices." }, "volume_mobile_pct": { "type": [ "number", "null" ], "format": "float", "title": "volume_mobile_pct", "description": "The percentage of the total search volume that comes from mobile devices." } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "competitors-overview": { "properties": { "keywords": { "items": { "properties": { "competitors_list": { "items": { "type": "object", "title": "competitors_list", "description": "Competitors information for a given keyword. The following fields are included: `url`, `url_prev`, `position`, `position_prev`, `best_position_kind`, `best_position_kind_prev`, `traffic`, `traffic_prev`, `value`, `value_prev`. Fields ending in `prev` are included only in the compared view." }, "type": "array", "title": "competitors_list", "description": "Competitors information for a given keyword. The following fields are included: `url`, `url_prev`, `position`, `position_prev`, `best_position_kind`, `best_position_kind_prev`, `traffic`, `traffic_prev`, `value`, `value_prev`. Fields ending in `prev` are included only in the compared view." }, "country": { "type": "string", "enum": [ "AD", "AE", "AF", "AG", "AI", "AL", "AM", "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AX", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "BQ", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", "CN", "CO", "CR", "CU", "CV", "CW", "CX", "CY", "CZ", "DE", "DJ", "DK", "DM", "DO", "DZ", "EC", "EE", "EG", "EH", "ER", "ES", "ET", "FI", "FJ", "FK", "FM", "FO", "FR", "GA", "GB", "GD", "GE", "GF", "GG", "GH", "GI", "GL", "GM", "GN", "GP", "GQ", "GR", "GS", "GT", "GU", "GW", "GY", "HK", "HM", "HN", "HR", "HT", "HU", "ID", "IE", "IL", "IM", "IN", "IO", "IQ", "IR", "IS", "IT", "JE", "JM", "JO", "JP", "KE", "KG", "KH", "KI", "KM", "KN", "KP", "KR", "KW", "KY", "KZ", "LA", "LB", "LC", "LI", "LK", "LR", "LS", "LT", "LU", "LV", "LY", "MA", "MC", "MD", "ME", "MF", "MG", "MH", "MK", "ML", "MM", "MN", "MO", "MP", "MQ", "MR", "MS", "MT", "MU", "MV", "MW", "MX", "MY", "MZ", "NA", "NC", "NE", "NF", "NG", "NI", "NL", "NO", "NP", "NR", "NU", "NZ", "OM", "OTHER", "PA", "PE", "PF", "PG", "PH", "PK", "PL", "PM", "PN", "PR", "PS", "PT", "PW", "PY", "QA", "RE", "RO", "RS", "RU", "RW", "SA", "SB", "SC", "SD", "SE", "SG", "SH", "SI", "SJ", "SK", "SL", "SM", "SN", "SO", "SR", "SS", "ST", "SV", "SX", "SY", "SZ", "TC", "TD", "TF", "TG", "TH", "TJ", "TK", "TL", "TM", "TN", "TO", "TR", "TT", "TV", "TW", "TZ", "UA", "UG", "UM", "US", "UY", "UZ", "VA", "VC", "VE", "VG", "VI", "VN", "VU", "WF", "WS", "YE", "YT", "ZA", "ZM", "ZW" ], "title": "country", "description": "The country that a given keyword is being tracked in. A two-letter country code (ISO 3166-1 alpha-2)." }, "keyword": { "type": "string", "title": "keyword", "description": "The keyword your target ranks for." }, "keyword_difficulty": { "type": [ "integer", "null" ], "title": "keyword_difficulty", "description": "An estimation of how hard it is to rank in the top 10 organic search results for a keyword on a 100-point scale." }, "keyword_has_data": { "type": "boolean", "title": "keyword_has_data", "description": "Will return `false` if the keyword is still processing and no SERP has been fetched yet." }, "keyword_is_frozen": { "type": "boolean", "title": "keyword_is_frozen", "description": "Indicates whether a keyword has exceeded the tracked keywords limit on your plan. Such keywords are \"frozen\", meaning they do not have their rankings updated." }, "language": { "type": "string", "title": "language", "description": "The SERP language that a given keyword is being tracked for." }, "location": { "type": "string", "title": "location", "description": "The location (country, state/province, or city) that a given keyword is being tracked in." }, "serp_features": { "items": { "type": "string", "enum": [ "paid_top", "paid_bottom", "paid_right", "paid_sitelink", "organic", "sitelink", "snippet", "image", "article", "knowledge_card", "knowledge_panel", "local_pack", "local_teaser", "news", "question", "review", "shopping", "tweet", "spelling", "video", "discussion", "ai_overview", "ai_overview_sitelink", "organic_shopping", "image_th", "video_th", "ai_overview_found" ], "title": "serp_features", "description": "The SERP features that appear in search results for a keyword." }, "type": "array", "title": "serp_features", "description": "The SERP features that appear in search results for a keyword." }, "serp_updated": { "type": [ "string", "null" ], "format": "date-time", "title": "serp_updated", "description": "The date when we last checked search engine results for a keyword." }, "serp_updated_prev": { "type": [ "string", "null" ], "format": "date-time", "title": "serp_updated_prev", "description": "The date when we checked search engine results up to the comparison date." }, "tags": { "items": { "type": "string", "title": "tags", "description": "A list of tags assigned to a given keyword." }, "type": "array", "title": "tags", "description": "A list of tags assigned to a given keyword." }, "volume": { "type": [ "integer", "null" ], "title": "volume", "description": "An estimation of the average monthly number of searches for a keyword over the latest month or over the latest known 12 months of data depending on the \"volume_mode\" parameter." } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "competitors-pages": { "properties": { "competitors-pages": { "items": { "properties": { "keywords": { "type": "integer", "title": "keywords", "description": "The total number of keywords that your target ranks for in the top 100 organic search results." }, "share_of_traffic_value": { "type": "number", "format": "float", "title": "share_of_traffic_value", "description": "The share of your target's organic search traffic value compared to the total organic search traffic value for all tracked keywords." }, "share_of_traffic_value_prev": { "type": "number", "format": "float", "title": "share_of_traffic_value_prev", "description": "The share of traffic value on the comparison date." }, "share_of_voice": { "type": "number", "format": "float", "title": "share_of_voice", "description": "The share of your target's organic search traffic compared to the total organic search traffic for all tracked keywords." }, "share_of_voice_prev": { "type": "number", "format": "float", "title": "share_of_voice_prev", "description": "The share of voice on the comparison date." }, "status": { "type": "string", "enum": [ "left", "right", "both" ], "title": "status", "description": "The status of a page: the new page that just started to rank (\"left\"), the lost page that disappeared from search results (\"right\"), or no change (\"both\")." }, "title": { "type": [ "string", "null" ], "title": "title", "description": "The title displayed for the page in its top keyword's SERP." }, "title_prev": { "type": [ "string", "null" ], "title": "title_prev", "description": "The title on the comparison date." }, "traffic": { "type": "integer", "title": "traffic", "description": "An estimation of the number of monthly visits that a page gets from organic search." }, "traffic_prev": { "type": "integer", "title": "traffic_prev", "description": "The traffic on the comparison date." }, "traffic_value": { "type": [ "integer", "null" ], "title": "traffic_value", "description": "The estimated value of a page’s monthly organic search traffic, in USD cents." }, "traffic_value_prev": { "type": [ "integer", "null" ], "title": "traffic_value_prev", "description": "The traffic value on the comparison date." }, "url": { "type": "string", "format": "url", "title": "url", "description": "The page URL." } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "competitors-domains": { "properties": { "competitors-domains": { "items": { "properties": { "domain": { "type": "string", "format": "domain", "title": "domain", "description": "The page domain." }, "keywords": { "type": "integer", "title": "keywords", "description": "The total number of keywords that your target ranks for in the top 100 organic search results." }, "pages": { "type": "integer", "title": "pages", "description": "The total number of pages from this domain ranking for the project's tracked keywords." }, "share_of_traffic_value": { "type": "number", "format": "float", "title": "share_of_traffic_value", "description": "The share of your target's organic search traffic value compared to the total organic search traffic value for all tracked keywords." }, "share_of_traffic_value_prev": { "type": "number", "format": "float", "title": "share_of_traffic_value_prev", "description": "The share of traffic value on the comparison date." }, "share_of_voice": { "type": "number", "format": "float", "title": "share_of_voice", "description": "The share of your target's organic search traffic compared to the total organic search traffic for all tracked keywords." }, "share_of_voice_prev": { "type": "number", "format": "float", "title": "share_of_voice_prev", "description": "The share of voice on the comparison date." }, "status": { "type": "string", "enum": [ "left", "right", "both" ], "title": "status", "description": "The status of a page: the new page that just started to rank (\"left\"), the lost page that disappeared from search results (\"right\"), or no change (\"both\")." }, "traffic": { "type": "integer", "title": "traffic", "description": "An estimation of the number of monthly visits that a page gets from organic search." }, "traffic_prev": { "type": "integer", "title": "traffic_prev", "description": "The traffic on the comparison date." }, "traffic_value": { "type": [ "integer", "null" ], "title": "traffic_value", "description": "The estimated value of a page’s monthly organic search traffic, in USD cents." }, "traffic_value_prev": { "type": [ "integer", "null" ], "title": "traffic_value_prev", "description": "The traffic value on the comparison date." } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "serp-overview": { "properties": { "positions": { "items": { "properties": { "ahrefs_rank": { "type": [ "integer", "null" ], "title": "ahrefs_rank", "description": "The strength of a domain's backlink profile compared to the other websites in our database, with rank #1 being the strongest." }, "backlinks": { "type": [ "integer", "null" ], "title": "backlinks", "description": "The total number of links from other websites pointing to a search result." }, "domain_rating": { "type": [ "number", "null" ], "format": "float", "title": "domain_rating", "description": "The strength of a domain’s backlink profile compared to the others in our database on a 100-point scale." }, "keywords": { "type": [ "integer", "null" ], "title": "keywords", "description": "The total number of keywords that a search result ranks for in the top 100 organic positions." }, "nr_words": { "type": [ "integer", "null" ], "title": "nr_words", "description": "The total number of words present in the HTML of a web page." }, "page_type": { "type": [ "string", "null" ], "title": "page_type", "description": "Comma-separated list of AI-predicted hierarchical page type paths for the ranking page. Each value is a slash-prefixed path (e.g. /Article/How_to)." }, "position": { "type": "integer", "title": "position", "description": "The position of the search result in SERP." }, "refdomains": { "type": [ "integer", "null" ], "title": "refdomains", "description": "The total number of unique domains linking to a search result." }, "title": { "type": [ "string", "null" ], "title": "title", "description": "The title of a ranking page." }, "top_keyword": { "type": [ "string", "null" ], "title": "top_keyword", "description": "The keyword that brings the most organic traffic to a search result." }, "top_keyword_volume": { "type": [ "integer", "null" ], "title": "top_keyword_volume", "description": "An estimation of the average monthly number of searches for the top keyword over the latest known 12 months of data." }, "traffic": { "type": [ "integer", "null" ], "title": "traffic", "description": "An estimation of the monthly organic search traffic that a result gets from all the keywords that it ranks for." }, "type": { "items": { "type": "string" }, "type": "array", "title": "type", "description": "The kind of the position: organic, paid, or a SERP feature. Allowed values: `ai_overview`, `ai_overview_sitelink`, `discussion`, `image`, `image_th`, `knowledge_card`, `knowledge_panel`, `local_pack`, `organic`, `organic_shopping`, `paid_top`, `paid_bottom`, `paid_right`, `question`, `sitelink`, `snippet`, `top_story`, `tweet`, `video`, `video_th`. " }, "update_date": { "type": "string", "format": "date", "title": "update_date", "description": "The date when we checked search engine results for a keyword." }, "url": { "type": [ "string", "null" ], "format": "url", "title": "url", "description": "The URL of a ranking page." }, "url_rating": { "type": [ "number", "null" ], "format": "float", "title": "url_rating", "description": "The strength of a page's backlink profile on a 100-point logarithmic scale." }, "value": { "type": [ "integer", "null" ], "title": "value", "description": "The estimated value of a page’s monthly organic search traffic, in USD cents." } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } }, "competitors-stats": { "properties": { "competitors-metrics": { "items": { "properties": { "ai_overview_count": { "type": "integer", "title": "ai_overview_count", "description": "The total number of tracked keywords for which your target ranks in an AI Overview." }, "average_position": { "type": [ "number", "null" ], "format": "float", "title": "average_position", "description": "The average of your target's top organic positions across all tracked keywords." }, "competitor": { "type": "string", "title": "competitor", "description": "Competitor's URL." }, "discussions_count": { "type": "integer", "title": "discussions_count", "description": "The total number of tracked keywords for which your target ranks in Discussions and forums." }, "featured_snippet_count": { "type": "integer", "title": "featured_snippet_count", "description": "The total number of tracked keywords for which your target ranks in a Featured snippet." }, "image_pack_count": { "type": "integer", "title": "image_pack_count", "description": "The total number of tracked keywords for which your target ranks in an Image pack." }, "knowledge_card_count": { "type": "integer", "title": "knowledge_card_count", "description": "The total number of tracked keywords for which your target ranks in a Knowledge card." }, "knowledge_panel_count": { "type": "integer", "title": "knowledge_panel_count", "description": "The total number of tracked keywords for which your target ranks in a Knowledge panel." }, "pos_11_20": { "type": "integer", "title": "pos_11_20", "description": "The total number of tracked keywords for which your target's top organic position is within the 11th to 20th results." }, "pos_1_3": { "type": "integer", "title": "pos_1_3", "description": "The total number of tracked keywords for which your target's top organic position is within the top 3 results." }, "pos_21_50": { "type": "integer", "title": "pos_21_50", "description": "The total number of tracked keywords for which your target's top organic position is within the 21st to 50th results." }, "pos_4_10": { "type": "integer", "title": "pos_4_10", "description": "The total number of tracked keywords for which your target's top organic position is within the 4th to 10th results." }, "pos_51_plus": { "type": "integer", "title": "pos_51_plus", "description": "The total number of tracked keywords for which your target's top organic position is the 51st or higher." }, "pos_no_rank": { "type": "integer", "title": "pos_no_rank", "description": "The total number of tracked keywords where your target doesn't rank." }, "share_of_traffic_value": { "type": "number", "format": "float", "title": "share_of_traffic_value", "description": "The share of your target's organic search traffic value compared to the total organic search traffic value for all tracked keywords." }, "share_of_voice": { "type": "number", "format": "float", "title": "share_of_voice", "description": "The share of your target's organic search traffic compared to the total organic search traffic for all tracked keywords." }, "sitelinks_count": { "type": "integer", "title": "sitelinks_count", "description": "The total number of tracked keywords for which your target ranks in Sitelinks." }, "thumbnail_count": { "type": "integer", "title": "thumbnail_count", "description": "The total number of tracked keywords for which your target ranks in a Thumbnail." }, "top_stories_count": { "type": "integer", "title": "top_stories_count", "description": "The total number of tracked keywords for which your target ranks in Top stories." }, "traffic": { "type": [ "integer", "null" ], "title": "traffic", "description": "The estimated number of monthly visits that your target gets from organic search for all tracked keywords." }, "traffic_value": { "type": [ "integer", "null" ], "title": "traffic_value", "description": "The estimated value of your target's monthly organic search traffic for all tracked keywords." }, "video_preview_count": { "type": "integer", "title": "video_preview_count", "description": "The total number of tracked keywords for which your target ranks in a Video preview." }, "videos_count": { "type": "integer", "title": "videos_count", "description": "The total number of tracked keywords for which your target ranks in Videos." }, "x_count": { "type": "integer", "title": "x_count", "description": "The total number of tracked keywords for which your target ranks in an X (Twitter) widget." } }, "type": "object" }, "type": "array" } }, "type": "object", "xml": { "name": "AhrefsApiResponse" } } }, "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": { "description": "The output format.", "required": false, "explode": false, "schema": { "type": "string", "enum": [ "json", "php" ] }, "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": "Competitors Overview", "description": "Data from competitors" } ], "externalDocs": { "description": "", "url": "https://docs.ahrefs.com/docs/api/v3/" } }