Top pages
Changed onRequest
- Base URLhttps://api.ahrefs.com/v3
- URLhttps://api.ahrefs.com/v3/site-explorer/top-pages
- AuthHTTP bearer
Query parameters
A comma-separated list of columns to return. See response schema for valid column identifiers.
The filter expression. The following column identifiers are recognized (this differs from the identifiers recognized by the select parameter).
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.
type: integer nullable
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.
type: integer nullable
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.
type: integer nullable
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.
type: integer nullable
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.
type: integer nullable
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.
type: integer nullable
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.
type: integer nullable
cpc
type: integer nullable
cpc_prev: The CPC metric on the comparison date.
type: integer nullable
has_thumbnail: The position has a thumbnail.
type: boolean
has_thumbnail_prev: The position has a thumbnail on the comparison date.
type: boolean
has_video: The position has a video.
type: boolean
has_video_prev: The position has a video on the comparison date.
type: boolean
keyword: The keyword your target ranks for.
type: string
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.
type: integer nullable
keyword_difficulty_prev (10 units): The keyword difficulty on the comparison date.
type: integer nullable
keyword_prev: The keyword your target ranks for on the comparison date.
type: string
keywords: The total number of keywords that your target ranks for in the top 100 organic search results.
type: integer
keywords_diff: The change in keywords between your selected dates.
type: integer
keywords_diff_percent: The change in keywords between your selected dates, in percents.
type: integer
keywords_merged: The total number of keywords optimized for sorting.
type: integer
keywords_prev: The keyword your target ranks for on the comparison date.
type: integer
page_type: Comma-separated list of AI-predicted hierarchical page type paths. Each value is a slash-prefixed path (e.g. /Article/How_to).
type: string nullable
position: The position your target ranks for in the organic search results for a keyword.
type: integer
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.
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"
position_kind_prev: The kind of a position on the comparison date.
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"
position_prev: The position of your target for a given keyword on the comparison date.
type: integer
raw_url: The ranking page URL in encoded format.
type: string
raw_url_prev: The ranking page URL on the comparison date in encoded format.
type: string
referring_domains (5 units): The number of unique domains linking to a page.
type: integer nullable
serp_features
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_features_prev: The SERP features on the comparison date.
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"
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").
type: string
enum: "left" "right" "both"
sum_traffic (10 units): An estimation of the monthly organic search traffic that a page gets from all the keywords that it ranks for.
type: integer nullable
sum_traffic_merged (10 units): The traffic field optimized for sorting.
type: integer
sum_traffic_prev (10 units): The traffic on the comparison date.
type: integer nullable
top_keyword: The keyword that brings the most organic traffic to a page.
type: string nullable
top_keyword_best_position: The ranking position that a page holds for its top keyword.
type: integer nullable
top_keyword_best_position_diff: The change in the top position between your selected dates.
type: integer nullable
top_keyword_best_position_kind: The kind of the top position: organic, paid or a SERP feature.
type: string nullable
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"
top_keyword_best_position_kind_prev: The kind of the top position on the comparison date.
type: string nullable
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"
top_keyword_best_position_prev: The top position on the comparison date.
type: integer nullable
top_keyword_best_position_title: The title displayed for the page in its top keyword's SERP.
type: string nullable
top_keyword_best_position_title_prev: The title displayed for the page in its top keyword's SERP on the comparison date.
type: string nullable
top_keyword_country: The country in which a page ranks for its top keyword.
type: string nullable
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"
top_keyword_country_prev: The country in which a page ranks for its top keyword on the comparison date.
type: string nullable
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"
top_keyword_prev: The keyword that brings the most organic traffic to a page on the comparison date.
type: string nullable
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.
type: integer nullable
top_keyword_volume_prev (10 units): The search volume on the comparison date.
type: integer nullable
traffic (10 units): An estimation of the number of monthly visitors that your target gets from organic search for a keyword.
type: integer
traffic_diff: The change in traffic between your selected dates.
type: integer
traffic_diff_percent: The change in traffic between your selected dates, in percents.
type: integer
traffic_prev (10 units): The traffic from a keyword on the comparison date.
type: integer
ur: URL Rating (UR) shows the strength of your target page’s backlink profile on a 100-point logarithmic scale.
type: float nullable
url: The ranking page URL.
type: url nullable
url_prev: The ranking page URL on the comparison date.
type: url nullable
value (10 units): The estimated value of a page's monthly organic search traffic, in USD cents.
type: integer nullable
value_diff: The change in traffic value between your selected dates.
type: integer
value_diff_percent: The change in traffic value between your selected dates, in percents.
type: integer
value_merged (10 units): The traffic value field optimized for sorting.
type: integer nullable
value_prev (10 units): The traffic value on the comparison date.
type: integer nullable
volume (10 units): An estimation of the number of searches for a keyword over the latest month.
type: integer nullable
volume_prev (10 units): The search volume on the comparison date.
type: integer nullable
words: The number of words in a keyword.
type: integer
words_prev: The number of words in a keyword on the comparison date.
type: integer
A comma-separated list of columns to order results by, with optional direction. See response schema for valid column identifiers.
The number of results to return.
A manual timeout duration in seconds.
The search volume calculation mode: monthly or average. It affects volume, traffic, and traffic value.
The organic traffic calculation mode: static or adaptive. It affects organic traffic and traffic value.
A date to report metrics on in YYYY-MM-DD format.
A date to compare metrics with in YYYY-MM-DD format.
A two-letter country code (ISO 3166-1 alpha-2).
The scope of the search based on the target you entered.
The target of the search: a domain or a URL.
The unique identifier of the portfolio. When provided, it takes precedence over target.
The protocol of your target.
The output format.
Response
OK
Changes
- info
added the new optional
queryrequest parameterportfolio_id
- info
- breaking
for the
queryrequest parametertraffic_mode, default value was changed fromstatictoadaptive
- breaking