Keywords Explorer

With country=all, volume_monthly and volume_monthly_history sum searches worldwide. Other country-specific metrics and ordering use each keyword's highest-volume country matching target, if provided. The regex filter supports only * wildcards.

get/keywords-explorer/overview

Request

  • Base URL
    https://api.ahrefs.com/v3
  • URL
    https://api.ahrefs.com/v3/keywords-explorer/overview
  • Auth
    HTTP bearer

Query parameters

selectstring required

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

wherestring

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

clicks: The average monthly number of clicks on the search results that people make while searching for the target keyword.
type: integer nullable

country: 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"

cpc: Cost Per Click shows the average price that advertisers pay for each ad click in paid search results for a keyword, in USD cents.
type: integer nullable

cps: Clicks Per Search (or CPS) 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.
type: float nullable

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

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

global_traffic_potential (10 units): The worldwide organic traffic the #1 ranking page for a keyword receives from all the keywords it ranks for.
type: integer nullable

global_volume (10 units): How many times per month, on average, people search for the target keyword across all countries in our database.
type: integer nullable

intents.branded:
type: boolean nullable

intents.commercial:
type: boolean nullable

intents.informational:
type: boolean nullable

intents.local:
type: boolean nullable

intents.navigational:
type: boolean nullable

intents.transactional:
type: boolean nullable

keyword:
type: string

languages: Detected keyword languages.
type: array(string)

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

parent_volume (10 units): The search volume of the parent topic.
type: integer nullable

serp_domain_rating_top5_min: The keyword must have at least one ranking position in the top 5 results with a DR of up to this value.
type: float nullable

serp_domain_rating_top10_min: The keyword must have at least one ranking position in the top 10 results with a DR of up to this value.
type: float nullable

serp_features: The enriched results on a search engine results page (SERP) that are not traditional organic results.
type: array(string)
enum: "ai_overview_sitelink" "snippet" "ai_overview" "local_pack" "sitelink" "news" "image" "video" "discussion" "tweet" "paid_top" "paid_bottom" "paid_sitelink" "shopping" "knowledge_card" "knowledge_panel" "question" "image_th" "video_th" "organic_shopping"

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

traffic_potential (10 units): The sum of organic traffic that the #1 ranking page for your target keyword receives from all the keywords that it ranks for.
type: integer nullable

volume (10 units): An estimation of the average monthly number of searches for a keyword over the latest known 12 months of data.
type: integer nullable

volume_desktop_pct: The percentage of searches for a keyword performed on desktop devices.
type: float nullable

volume_mobile_pct: The percentage of searches for a keyword performed on mobile devices.
type: float nullable

word_count:
type: integer

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

A column to order results by. See the response schema for valid column identifiers, except for volume_monthly, which is not supported in order_by for this endpoint.

limitinteger

The number of results to return.

timeoutinteger

A manual timeout duration in seconds.

keyword_list_idinteger

The id of an existing keyword list to show metrics for.

keywordsstring

A comma-separated list of keywords to show metrics for.

country'all' | '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' required

A country code, or all for all locations. With all, provide keywords or keyword_list_id.

target_position'in_top10' | 'in_top100'

Filters keywords based on the ranking position of the specified target.

targetstring url

The target of the search: a domain or a URL.

mode'exact' | 'prefix' | 'domain' | 'subdomains'

The scope of the target.

volume_monthly_date_fromstring date

The start date in YYYY-MM-DD format for retrieving historical monthly search volumes in the volume_monthly_history field. Required only if volume_monthly_history is requested.

volume_monthly_date_tostring date

The end date in YYYY-MM-DD format for retrieving historical monthly search volumes in the volume_monthly_history field. Required only if volume_monthly_history is requested.

output'json' | 'php' | 'xml'

The output format.

Response

OK

Changes

    • info

      added the new enum value all to the query request parameter country

    • info

      added the optional property // to the response with the status (media type: application/json)

    • info

      added the optional property // to the response with the status (media type: application/xml)

    • info

      added the optional property // to the response with the status (media type: application/json)

    • info

      added the optional property // to the response with the status (media type: application/xml)

    • warning

      deleted the query request parameter target_mode

    • info

      added the new optional query request parameter mode