Docs
Search docs...⌘K

Competitors overview

API + MCP
GET/v3/rank-tracker/competitors-overview

Requests to this endpoint are free and do not consume any API units.

Query parameters

timeoutinteger

A manual timeout duration in seconds.

limitinteger

The number of results to return.

Default:1000
order_bystring

A comma-separated list of columns to order results by, with optional direction. See response schema for valid column identifiers.

Example:field_a,field_b:asc,field_c:desc
wherestring

The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the select parameter).

country: The country that a given keyword is being tracked in. A two-letter country code (ISO 3166-1 alpha-2).
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"

is_main_position: Excludes positions in Ai Overview, Sitelinks, Top stories, Image packs, Videos, Discussions and forums, and posts on X (Twitter).
type: boolean

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.
type: boolean

keyword: The keyword your target ranks for.
type: string

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.
type: integer nullable

keyword_has_data: Will return false if the keyword is still processing and no SERP has been fetched yet.
type: boolean

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.
type: boolean

language: The SERP language that a given keyword is being tracked for.
type: string

location: The location (country, state/province, or city) that a given keyword is being tracked in.
type: string

serp_features: The SERP features that appear in search results for a keyword.
type: array(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"

serp_updated: The date when we last checked search engine results for a keyword.
type: datetime nullable

serp_updated_prev: The date when we checked search engine results up to the comparison date.
type: datetime nullable

tags: A list of tags assigned to a given keyword.
type: array(string)

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.
type: integer nullable

selectstringRequired

A comma-separated list of columns to return. See response schema for valid column identifiers.

date_comparedstring

A date to compare metrics with in YYYY-MM-DD format.

datestringRequired

A date to report metrics on in YYYY-MM-DD format.

devicestringRequired

Choose between mobile and desktop rankings.

Allowed values:desktopmobile
project_idintegerRequired

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#

volume_modestring

The search volume calculation mode: monthly or average. It affects volume, traffic, and traffic value.

Allowed values:monthlyaverage
Default:monthly
outputstring

The output format.

Allowed values:jsonphp

Responses

keywordsarray<object>
competitors_listarray<object>

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.

countrystring

The country that a given keyword is being tracked in. A two-letter country code (ISO 3166-1 alpha-2).

Allowed values:ADAEAFAGAIALAMAOAQARASATAUAWAXAZBABBBDBEBFBGBHBIBJBLBMBNBOBQBRBSBTBVBWBYBZCACCCDCFCGCHCICKCLCMCNCOCRCUCVCWCXCYCZDEDJDKDMDODZECEEEGEHERESETFIFJFKFMFOFRGAGBGDGEGFGGGHGIGLGMGNGPGQGRGSGTGUGWGYHKHMHNHRHTHUIDIEILIMINIOIQIRISITJEJMJOJPKEKGKHKIKMKNKPKRKWKYKZLALBLCLILKLRLSLTLULVLYMAMCMDMEMFMGMHMKMLMMMNMOMPMQMRMSMTMUMVMWMXMYMZNANCNENFNGNINLNONPNRNUNZOMOTHERPAPEPFPGPHPKPLPMPNPRPSPTPWPYQARERORSRURWSASBSCSDSESGSHSISJSKSLSMSNSOSRSSSTSVSXSYSZTCTDTFTGTHTJTKTLTMTNTOTRTTTVTWTZUAUGUMUSUYUZVAVCVEVGVIVNVUWFWSYEYTZAZMZW
keywordstring

The keyword your target ranks for.

keyword_difficultyinteger or null

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_databoolean

Will return false if the keyword is still processing and no SERP has been fetched yet.

keyword_is_frozenboolean

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.

languagestring

The SERP language that a given keyword is being tracked for.

locationstring

The location (country, state/province, or city) that a given keyword is being tracked in.

serp_featuresarray<string>

The SERP features that appear in search results for a keyword.

Allowed values:paid_toppaid_bottompaid_rightpaid_sitelinkorganicsitelinksnippetimagearticleknowledge_cardknowledge_panellocal_packlocal_teasernewsquestionreviewshoppingtweetspellingvideodiscussionai_overviewai_overview_sitelinkorganic_shoppingimage_thvideo_thai_overview_found
serp_updatedstring or null

The date when we last checked search engine results for a keyword.

serp_updated_prevstring or null

The date when we checked search engine results up to the comparison date.

tagsarray<string>

A list of tags assigned to a given keyword.

volumeinteger or null

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.