Docs
Search docs...⌘K

Organic keywords

GET/v3/site-explorer/organic-keywords

Query parameters

timeoutinteger

A manual timeout duration in seconds.

limitinteger

The number of results to return.

Default:1000
order_bystring

A column to order results by. 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).

best_position: The top position your target ranks for in the organic search results for a keyword.
type: integer nullable

best_position_diff: The change in position between your selected dates.
type: integer nullable

best_position_has_thumbnail: The top position has a thumbnail.
type: boolean nullable

best_position_has_thumbnail_prev: The top position has a thumbnail on the comparison date.
type: boolean nullable

best_position_has_video: The top position has a video.
type: boolean nullable

best_position_has_video_prev: The top position has a video on the comparison date.
type: boolean nullable

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"

best_position_kind_merged: The kind of the top position optimized for sorting.
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"

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"

best_position_prev: The top position on the comparison date.
type: integer nullable

best_position_set: The ranking group of the top position.
type: string
enum: "top_3" "top_4_10" "top_11_50" "top_51_more"

best_position_set_prev: The ranking group of the top position on the comparison date.
type: string nullable
enum: "top_3" "top_4_10" "top_11_50" "top_51_more"

best_position_url: The ranking URL in organic search results.
type: string nullable

best_position_url_prev: The ranking URL on the comparison date.
type: string nullable

best_position_url_raw: The ranking page URL in encoded format.
type: string nullable

best_position_url_raw_prev: The ranking page URL on the comparison date in encoded format.
type: string nullable

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

cpc_merged: The CPC field optimized for sorting.
type: integer nullable

cpc_prev: The CPC metric on the comparison date.
type: integer nullable

entities: Organizations, products, persons, works, events, and locations found in a keyword.
type: array(object)

event_entities: Events found in a keyword.
type: array(string)

is_best_position_set_top_11_50: The ranking group of the top position is 11-50.
type: boolean

is_best_position_set_top_11_50_prev: The ranking group of the top position was 11-50 on the comparison date.
type: boolean nullable

is_best_position_set_top_3: The ranking group of the top position is Top 3.
type: boolean

is_best_position_set_top_3_prev: The ranking group of the top position was Top 3 on the comparison date.
type: boolean nullable

is_best_position_set_top_4_10: The ranking group of the top position is 4-10.
type: boolean

is_best_position_set_top_4_10_prev: The ranking group of the top position was 4-10 on the comparison date.
type: boolean nullable

is_branded: User intent: branded. The user is searching for a specific brand or company name.
type: boolean

is_commercial: User intent: commercial. The user is comparing products or services before making a purchase decision.
type: boolean

is_informational: User intent: informational. The user is looking for information or an answer to a specific question.
type: boolean

is_local: User intent: local. The user is looking for information relevant to a specific location or nearby services.
type: boolean

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

is_main_position_prev: Excludes positions in AI Overviews, Sitelinks, Top stories, Image packs, Videos, Discussions and forums, and posts on X (Twitter) on the comparison date.
type: boolean

is_navigational: User intent: navigational. The user is searching for a specific website or web page.
type: boolean

is_transactional: User intent: transactional. The user is ready to complete an action, often a purchase.
type: boolean

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

keyword_country: The country of a keyword your target ranks for.
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"

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_merged (10 units): The keyword difficulty field optimized for sorting.
type: integer nullable

keyword_difficulty_prev (10 units): The keyword difficulty on the comparison date.
type: integer nullable

keyword_language: The language of the search query
type: array(string)

keyword_merged: The keyword field optimized for sorting.
type: string

keyword_prev: The keyword your target ranks for on the comparison date.
type: string

language: The SERP language.
type: string

language_prev: The SERP language on the comparison date.
type: string nullable

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

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

location_entities: Locations found in a keyword.
type: array(string)

organisation_entities: Organizations found in a keyword.
type: array(string)

person_entities: Persons found in a keyword.
type: array(string)

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"

positions_kinds: The kinds of the top positions.
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"

positions_kinds_prev: The kinds of the top positions 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"

product_entities: Products found in a keyword.
type: array(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_features_count: The number of SERP features that appear in search results for a keyword.
type: integer

serp_features_count_prev: The number of SERP features on the comparison date.
type: integer nullable

serp_features_merged: The SERP features field optimized for sorting.
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 that appear in search results for a keyword 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"

serp_target_main_positions_count: The number of target URLs ranking for a keyword excluding positions in Sitelinks, Top stories, Image packs, and posts on X (Twitter).
type: integer

serp_target_main_positions_count_prev: The number of target URLs ranking for a keyword excluding positions in Sitelinks, Top stories, Image packs, and posts on X (Twitter) on the comparison date.
type: integer nullable

serp_target_positions_count: The number of target URLs ranking for a keyword.
type: integer

serp_target_positions_count_prev: The number of target URLs ranking for a keyword on the comparison date.
type: integer nullable

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_paid_traffic (10 units): An estimation of the number of monthly visits that your target gets from paid search for a keyword.
type: integer nullable

sum_paid_traffic_merged (10 units): The paid traffic field optimized for sorting.
type: integer

sum_paid_traffic_prev (10 units): The paid traffic on the comparison date.
type: integer nullable

sum_traffic (10 units): An estimation of the number of monthly visitors that your target gets from organic search for a keyword.
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

title: The title displayed for the page in a keyword's SERP.
type: string

title_prev: The title displayed for the page in a keyword's SERP on the comparison date.
type: string

volume (10 units): An estimation of the number of searches for a keyword over the latest month.
type: integer nullable

volume_desktop_pct: The percentage of the total search volume that comes from desktop devices.
type: float nullable

volume_merged (10 units): The search volume field optimized for sorting.
type: integer nullable

volume_mobile_pct: The percentage of the total search volume that comes from mobile devices.
type: float 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_merged: The number of words in a keyword optimized for sorting.
type: integer

words_prev: The number of words in a keyword on the comparison date.
type: integer

work_entities: Works found in a keyword.
type: array(string)

selectstringRequired

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

protocolstring

The protocol of your target.

Allowed values:bothhttphttps
Default:both
targetstringRequired

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

modestring

The scope of the search based on the target you entered.

Allowed values:exactprefixdomainsubdomains
Default:subdomains
countrystring

A two-letter country code (ISO 3166-1 alpha-2).

Allowed values:adaeafagaialamaoarasatauawazbabbbdbebfbgbhbibjbnbobrbsbtbwbybzcacdcfcgchcickclcmcncocrcucvcyczdedjdkdmdodzeceeegesetfifjfmfofrgagbgdgegfggghgiglgmgngpgqgrgtgugyhkhnhrhthuidieiliminiqisitjejmjojpkekgkhkiknkrkwkykzlalblclilklsltlulvlymamcmdmemgmkmlmmmnmqmrmsmtmumvmwmxmymznancnengninlnonpnrnunzompapepfpgphpkplpnprpsptpyqarerorsrurwsasbscsesgshsiskslsmsnsosrstsvtdtgthtjtktltmtntotrtttwtzuaugusuyuzvcvevgvivnvuwsyeytzazmzw
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.

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:jsoncsvxmlphp

Responses

keywordsarray
all_positionsarray

(5 units) The list of all positions for a keyword.

all_positions_prevarray

(5 units) The list of all positions for a keyword on the comparison date.

best_positioninteger or null

The top position your target ranks for in the organic search results for a keyword.

best_position_diffinteger or null

The change in position between your selected dates.

best_position_has_thumbnailboolean or null

The top position has a thumbnail.

best_position_has_thumbnail_prevboolean or null

The top position has a thumbnail on the comparison date.

best_position_has_videoboolean or null

The top position has a video.

best_position_has_video_prevboolean or null

The top position has a video on the comparison date.

best_position_kindstring or null

The kind of the top position: organic, paid, or a SERP feature.

paid_toppaid_bottompaid_rightpaid_sitelinkorganicsitelinksnippetimagearticleknowledge_cardknowledge_panellocal_packlocal_teasernewsquestionreviewshoppingtweetspellingvideodiscussionai_overviewai_overview_sitelinkorganic_shopping
best_position_kind_mergedstring

The kind of the top position optimized for sorting.

paid_toppaid_bottompaid_rightpaid_sitelinkorganicsitelinksnippetimagearticleknowledge_cardknowledge_panellocal_packlocal_teasernewsquestionreviewshoppingtweetspellingvideodiscussionai_overviewai_overview_sitelinkorganic_shopping
best_position_kind_prevstring or null

The kind of the top position on the comparison date.

paid_toppaid_bottompaid_rightpaid_sitelinkorganicsitelinksnippetimagearticleknowledge_cardknowledge_panellocal_packlocal_teasernewsquestionreviewshoppingtweetspellingvideodiscussionai_overviewai_overview_sitelinkorganic_shopping
best_position_previnteger or null

The top position on the comparison date.

best_position_setstring

The ranking group of the top position.

top_3top_4_10top_11_50top_51_more
best_position_set_prevstring or null

The ranking group of the top position on the comparison date.

top_3top_4_10top_11_50top_51_more
best_position_urlstring or null

The ranking URL in organic search results.

best_position_url_prevstring or null

The ranking URL on the comparison date.

cpcinteger or null

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

cpc_mergedinteger or null

The CPC field optimized for sorting.

cpc_previnteger or null

The CPC metric on the comparison date.

entitiesarray

Organizations, products, persons, works, events, and locations found in a keyword.

is_best_position_set_top_11_50boolean

The ranking group of the top position is 11-50.

is_best_position_set_top_11_50_prevboolean or null

The ranking group of the top position was 11-50 on the comparison date.

is_best_position_set_top_3boolean

The ranking group of the top position is Top 3.

is_best_position_set_top_3_prevboolean or null

The ranking group of the top position was Top 3 on the comparison date.

is_best_position_set_top_4_10boolean

The ranking group of the top position is 4-10.

is_best_position_set_top_4_10_prevboolean or null

The ranking group of the top position was 4-10 on the comparison date.

is_brandedboolean

User intent: branded. The user is searching for a specific brand or company name.

is_commercialboolean

User intent: commercial. The user is comparing products or services before making a purchase decision.

is_informationalboolean

User intent: informational. The user is looking for information or an answer to a specific question.

is_localboolean

User intent: local. The user is looking for information relevant to a specific location or nearby services.

is_navigationalboolean

User intent: navigational. The user is searching for a specific website or web page.

is_transactionalboolean

User intent: transactional. The user is ready to complete an action, often a purchase.

keywordstring or null

The keyword your target ranks for.

keyword_countrystring

The country of a keyword your target ranks for.

ADAEAFAGAIALAMAOAQARASATAUAWAXAZBABBBDBEBFBGBHBIBJBLBMBNBOBQBRBSBTBVBWBYBZCACCCDCFCGCHCICKCLCMCNCOCRCUCVCWCXCYCZDEDJDKDMDODZECEEEGEHERESETFIFJFKFMFOFRGAGBGDGEGFGGGHGIGLGMGNGPGQGRGSGTGUGWGYHKHMHNHRHTHUIDIEILIMINIOIQIRISITJEJMJOJPKEKGKHKIKMKNKPKRKWKYKZLALBLCLILKLRLSLTLULVLYMAMCMDMEMFMGMHMKMLMMMNMOMPMQMRMSMTMUMVMWMXMYMZNANCNENFNGNINLNONPNRNUNZOMOTHERPAPEPFPGPHPKPLPMPNPRPSPTPWPYQARERORSRURWSASBSCSDSESGSHSISJSKSLSMSNSOSRSSSTSVSXSYSZTCTDTFTGTHTJTKTLTMTNTOTRTTTVTWTZUAUGUMUSUYUZVAVCVEVGVIVNVUWFWSYEYTZAZMZW
keyword_difficultyinteger or null

(10 units) An estimation of how hard it is to rank in the top 10 organic search results for a keyword on a 100-point scale.

keyword_difficulty_mergedinteger or null

(10 units) The keyword difficulty field optimized for sorting.

keyword_difficulty_previnteger or null

(10 units) The keyword difficulty on the comparison date.

keyword_languagearray

The language of the search query

keyword_mergedstring

The keyword field optimized for sorting.

keyword_prevstring or null

The keyword your target ranks for on the comparison date.

languagestring

The SERP language.

language_prevstring or null

The SERP language on the comparison date.

last_updatestring

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

last_update_prevstring or null

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

serp_featuresarray

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

serp_features_countinteger

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

serp_features_count_previnteger or null

The number of SERP features on the comparison date.

serp_features_mergedarray

The SERP features field optimized for sorting.

serp_features_prevarray

The SERP features that appear in search results for a keyword on the comparison date.

serp_target_main_positions_countinteger

The number of target URLs ranking for a keyword excluding positions in Sitelinks, Top stories, Image packs, and posts on X (Twitter).

serp_target_main_positions_count_previnteger or null

The number of target URLs ranking for a keyword excluding positions in Sitelinks, Top stories, Image packs, and posts on X (Twitter) on the comparison date.

serp_target_positions_countinteger

The number of target URLs ranking for a keyword.

serp_target_positions_count_previnteger or null

The number of target URLs ranking for a keyword on the comparison date.

statusstring

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").

leftrightboth
sum_paid_trafficinteger or null

(10 units) An estimation of the number of monthly visits that your target gets from paid search for a keyword.

sum_paid_traffic_mergedinteger

(10 units) The paid traffic field optimized for sorting.

sum_paid_traffic_previnteger or null

(10 units) The paid traffic on the comparison date.

sum_trafficinteger or null

(10 units) An estimation of the number of monthly visitors that your target gets from organic search for a keyword.

sum_traffic_mergedinteger

(10 units) The traffic field optimized for sorting.

sum_traffic_previnteger or null

(10 units) The traffic on the comparison date.

volumeinteger or null

(10 units) An estimation of the number of searches for a keyword over the latest month.

volume_desktop_pctnumber or null

The percentage of the total search volume that comes from desktop devices.

volume_mergedinteger or null

(10 units) The search volume field optimized for sorting.

volume_mobile_pctnumber or null

The percentage of the total search volume that comes from mobile devices.

volume_previnteger or null

(10 units) The search volume on the comparison date.

wordsinteger or null

The number of words in a keyword.

words_mergedinteger

The number of words in a keyword optimized for sorting.

words_previnteger or null

The number of words in a keyword on the comparison date.