Data API / DataForSEO / DataForSEO Labs
Keywords For Categories
Every keyword Labs holds for a given category code - the reverse of post_dataforseo_labs_google_categories_for_domain_live. Pages with limit, offset and offset_token; use the token past the first pages. Wrapped in DataForSEO's envelope: data in tasks[0].result, outcome in tasks[0].status_code - a rejected request still returns HTTP 200. ⚠️ A broad category holds a great many keywords; set limit deliberately rather than relying on a default.
Parameters
No path, query, or header parameters.
Request body
category_codesinteger[]Optionalproduct and service categories required field The maximum number of categories you can specify: 20 you can download the full list of possible categories
location_namestringOptionalfull name of the location required field if you don’t specify location_code Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: United Kingdom
location_codeintegerOptionalunique location identifier required field if you don’t specify location_name Note: it is required to specify either location_name or location_code you can receive the list of available locations with their location_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: 2840
language_namestringOptionalfull name of the language required field if you don’t specify language_code Note: it is required to specify either language_name or language_code you can receive the list of available languages with their language_name by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: English
language_codestringOptionalunique language identifier required field if you don’t specify language_name Note: it is required to specify either language_name or language_code you can receive the list of available languages with their language_code by making a separate request to the https://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages example: en
category_intersectionbooleanOptionalcategory intersections optional field if set to true, you will get keywords featured in all specified categories; if set to false, you will keywords that are specified in any of the specified categories; default value: true
include_serp_infobooleanOptionalinclude data from SERP for each keyword optional field if set to true, we will return a serp_info array containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response default value: false
include_clickstream_databooleanOptionalinclude or exclude data from clickstream-based metrics in the result optional field if the parameter is set to true, you will receive clickstream_keyword_info, keyword_info_normalized_with_clickstream, and keyword_info_normalized_with_bing fields in the response default value: false with this parameter enabled, you will be charged double the price for the request learn more about how clickstream-based metrics are calculated in this help center article
ignore_synonymsbooleanOptionalignore highly similar keywords optional field if set to true only core keywords will be returned, all highly similar keywords will be excluded; default value: false
limitintegerOptionalthe maximum number of keywords in the results array optional field default value: 100 maximum value: 1000
offsetintegerOptionaloffset in the results array of returned keywords optional field default value: 0 if you specify the 10 value, the first ten keywords in the results array will be omitted and the data will be provided for the successive keywords Note: we recommend using this parameter only when retrieving up to 10,000 results for retrieving over 10,000 results, use the offset_token instead.
offset_tokenstringOptionaloffset token for subsequent requests optional field provided in the identical filed of the response to each request; use this parameter to avoid timeouts while trying to obtain over 10,000 results in a single request; by specifying the unique offset_token value from the response array, you will get the subsequent results of the initial task; offset_token values are unique for each subsequent task Note: if the offset_token is specified in the request, all other parameters except limit will not be taken into account when processing a task. learn more about this parameter on our Help Center
filtersarrayOptionalarray of results filtering parameters optional field you can add several filters at once (8 filters maximum) you should set a logical operator and, or between the conditions the following operators are supported: regex, not_regex, , , >, >=, =, , in, not_in, match, not_match, ilike, not_ilike, like, not_like you can use the % operator with like and not_like,as well as ilike, not_ilike to match any string of zero or more characters example: ["keyword_info.search_volume",">",0] [["keyword_info.search_volume","in",[0,1000]], "and", ["keyword_info.competition_level","=","LOW"]] [["keyword_info.search_volume",">",100], "and", [["keyword_info.cpc"," for more information about filters, please refer to Dataforseo Labs – Filters or this help center guide
order_bystring[]Optionalresults sorting rules optional field you can use the same values as in the filters array to sort the results possible sorting types: asc – results will be sorted in the ascending order desc – results will be sorted in the descending order you should use a comma to set up a sorting type example: ["keyword_info.competition,desc"] default rule: ["keyword_info.search_volume,desc"] note that you can set no more than three sorting rules in a single request you should use a comma to separate several sorting rules example: ["keyword_info.search_volume,desc","keyword_info.competition,asc"]
tagstringOptionaluser-defined task identifier optional field the character limit is 255 you can use this parameter to identify the task and match it with the result you will find the specified tag value in the data object of the response
Example request
curl -X POST "https://openapi.felo.ai/v1/beta/dataforseo/dataforseo_labs/google/keywords_for_categories/live" \
-H "Authorization: Bearer $FELO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"category_codes": [
0
],
"location_name": "<string>",
"location_code": 0,
"language_name": "<string>",
"language_code": "<string>",
"category_intersection": false,
"include_serp_info": false,
"include_clickstream_data": false
}'Response
Response fields
versionstringOptionalthe current version of the API
status_codeintegerOptionalgeneral status code you can find the full list of the response codes here Note: we strongly recommend designing a necessary system for handling related exceptional or error conditions
status_messagestringOptionalgeneral informational message you can find the full list of general informational messages here
timestringOptionalexecution time, seconds
costnumberOptionaltotal tasks cost, USD
tasks_countintegerOptionalthe number of tasks in the tasks array
tasks_errorintegerOptionalthe number of tasks in the tasks array returned with an error
tasksstring[]Optionalarray of tasks
idstringOptionaltask identifier unique task identifier in our system in the UUID format
status_codeintegerOptionalstatus code of the task generated by DataForSEO; can be within the following range: 10000-60000 you can find the full list of the response codes here
status_messagestringOptionalinformational message of the task you can find the full list of general informational messages here
timestringOptionalexecution time, seconds
costnumberOptionalcost of the task, USD
result_countintegerOptionalnumber of elements in the result array
pathstring[]OptionalURL path
dataobjectOptionalcontains the same parameters that you specified in the POST request
resultstring[]Optionalarray of results
se_typestringOptionalsearch engine type
seed_categoriesstring[]Optionalcategories in a POST array
location_codeintegerOptionallocation code in a POST array
language_codestringOptionallanguage code in a POST array
total_countintegerOptionalthe total amount of results in our database relevant to your request
items_countintegerOptionalthe number of results returned in the items array
offsetintegerOptionalcurrent offset value
offset_tokenstringOptionaloffset token for subsequent requests you can use the string provided in this field to get the subsequent results of the initial task; note: offset_token values are unique for each subsequent task
itemsstring[]Optionalcontains keyword ideas and related data
se_typestringOptionalsearch engine type
keywordstringOptionalfound keyword
location_codeintegerOptionallocation code in a POST array
language_codestringOptionallanguage code in a POST array
keyword_infoobjectOptionalkeyword data for the returned keyword idea
se_typestringOptionalsearch engine type
last_updated_timestringOptionaldate and time when keyword data was updated in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00” example: 2019-11-15 12:57:46 +00:00
competitionnumberOptionalcompetition represents the relative amount of competition associated with the given keyword; the value is based on Google Ads data and can be between 0 and 1 (inclusive)
competition_levelstringOptionalcompetition level represents the relative level of competition associated with the given keyword in paid SERP only; possible values: LOW, MEDIUM, HIGH if competition level is unknown, the value is null; learn more about the metric in this help center article
cpcnumberOptionalcost-per-click represents the average cost per click (USD) historically paid for the keyword
search_volumeintegerOptionalaverage monthly search volume rate represents the (approximate) number of searches for the given keyword idea on google.com
low_top_of_page_bidnumberOptionalminimum bid for the ad to be displayed at the top of the first page indicates the value greater than about 20% of the lowest bids for which ads were displayed (based on Google Ads statistics for advertisers) the value may differ depending on the location specified in a POST request
high_top_of_page_bidnumberOptionalmaximum bid for the ad to be displayed at the top of the first page indicates the value greater than about 80% of the lowest bids for which ads were displayed (based on Google Ads statistics for advertisers) the value may differ depending on the location specified in a POST request
categoriesstring[]Optionalproduct and service categories you can download the full list of possible categories
monthly_searchesstring[]Optionalmonthly searches represents the (approximate) number of searches on this keyword idea (as available for the past twelve months), targeted to the specified geographic locations
yearintegerOptionalyear
monthintegerOptionalmonth
search_volumeintegerOptionalmonthly average search volume rate
search_volume_trendobjectOptionalsearch volume trend changes represents search volume change in percent compared to the previous period
monthlyintegerOptionalsearch volume change in percent compared to the previous month
quarterlyintegerOptionalsearch volume change in percent compared to the previous quarter
yearlyintegerOptionalsearch volume change in percent compared to the previous year
clickstream_keyword_infoobjectOptionalclickstream data for the returned keyword to retrieve results for this field, the parameter include_clickstream_data must be set to true
search_volumeintegerOptionalmonthly average clickstream search volume rate
last_updated_timestringOptionaldate and time when the clickstream dataset was updated in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00”
gender_distributionobjectOptionaldistribution of estimated clickstream-based metrics by gender learn more about how the metric is calculated in this help center article
femaleintegerOptionalnumber of female users in the relevant clickstream dataset
maleintegerOptionalnumber of male users in the relevant clickstream dataset
age_distributionobjectOptionaldistribution of clickstream-based metrics by age learn more about how the metric is calculated in this help center article
18-24integerOptionalnumber of users in the relevant clickstream dataset that fall within the 18-24 age range
25-34integerOptionalnumber of users in the relevant clickstream dataset that fall within the 25-34 age range
35-44integerOptionalnumber of users in the relevant clickstream dataset that fall within the 35-44 age range
45-54integerOptionalnumber of users in the relevant clickstream dataset that fall within the 45-54 age range
55-64integerOptionalnumber of users in the relevant clickstream dataset that fall within the 55-64 age range
monthly_searchesstring[]Optionalmonthly clickstream search volume rates array of objects with clickstream search volume rates in a certain month of a year
yearintegerOptionalyear
monthintegerOptionalmonth
search_volumeintegerOptionalclickstream-based search volume rate in a certain month of a year
keyword_propertiesobjectOptionaladditional information about the keyword
se_typestringOptionalsearch engine type
core_keywordstringOptionalmain keyword in a group contains the main keyword in a group determined by the synonym clustering algorithm if the value is null, our database does not contain any keywords the corresponding algorithm could identify as synonymous with keyword
synonym_clustering_algorithmstringOptionalthe algorithm used to identify synonyms possible values: keyword_metrics – indicates the algorithm based on keyword_info parameters text_processing – indicates the text-based algorithm if the value is null, our database does not contain any keywords the corresponding algorithm could identify as synonymous with keyword
keyword_difficultyintegerOptionaldifficulty of ranking in the first top-10 organic results for a keyword indicates the chance of getting in top-10 organic results for a keyword on a logarithmic scale from 0 to 100; calculated by analysing, among other parameters, link profiles of the first 10 pages in SERP; learn more about the metric in this help center guide
detected_languagestringOptionaldetected language of the keyword indicates the language of the keyword as identified by our system
is_another_languagebooleanOptionaldetected language of the keyword is different from the set language if true, the language set in the request does not match the language determined by our system for a given keyword
words_countintegerOptionalnumber of words in the keyword indicates how many words the keyword consists of
serp_infoobjectOptionalSERP data the value will be null if you didn’t set the field include_serp_info to true in the POST array or if there is no SERP data for this keyword in our database
se_typestringOptionalsearch engine type
check_urlstringOptionaldirect URL to search engine results you can use it to make sure that we provided accurate results
serp_item_typesstring[]Optionaltypes of search results in SERP contains types of search results (items) found in SERP possible item types: answer_box, app, carousel, multi_carousel, featured_snippet, google_flights, google_reviews, third_party_reviews, google_posts, images, jobs, knowledge_graph, local_pack, hotels_pack, map, organic, paid, people_also_ask, related_searches, people_also_search, shopping, top_stories, twitter, video, events, mention_carousel, recipes, top_sights, scholarly_articles, popular_products, podcasts, questions_and_answers, find_results_on, stocks_box, visual_stories, commercial_units, local_services, google_hotels, math_solver, currency_box, product_considerations, found_on_web, short_videos, refine_products, explore_brands, perspectives, discussions_and_forums, compare_sites, courses, ai_overview; note that the actual results will be returned only for organic, paid, featured_snippet, and local_pack elements
se_results_countstringOptionalnumber of search results for the returned keyword
last_updated_timestringOptionaldate and time when SERP data was updated in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00” example: 2019-11-15 12:57:46 +00:00
previous_updated_timestringOptionalprevious to the most recent date and time when SERP data was updated in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00” example: 2019-11-15 12:57:46 +00:00
avg_backlinks_infoobjectOptionalbacklink data for the returned keyword this object provides the average number of backlinks, referring pages and domains, as well as the average rank values among the top-10 webpages ranking organically for the keyword
se_typestringOptionalsearch engine type
backlinksnumberOptionalaverage number of backlinks
dofollownumberOptionalaverage number of dofollow links
referring_pagesnumberOptionalaverage number of referring pages
referring_domainsnumberOptionalaverage number of referring domains
referring_main_domainsnumberOptionalaverage number of referring main domains
ranknumberOptionalaverage rank learn more about the metric and its calculation formula in this help center article
main_domain_ranknumberOptionalaverage main domain rank learn more about the metric and its calculation formula in this help center article
last_updated_timestringOptionaldate and time when backlink data was updated in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00” example: 2019-11-15 12:57:46 +00:00
search_intent_infoobjectOptionalsearch intent info for the returned keyword learn about search intent in this help center article
se_typestringOptionalsearch engine type possible values: google
main_intentstringOptionalmain search intent possible values: informational, navigational, commercial, transactional
foreign_intentstring[]Optionalsupplementary search intents possible values: informational, navigational, commercial, transactional
last_updated_timestringOptionaldate and time when search intent data was last updated in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00” example: 2019-11-15 12:57:46 +00:00
keyword_info_normalized_with_bingobjectOptionalcontains keyword search volume normalized with Bing search volume
last_updated_timestringOptionaldate and time when the dataset was updated in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00” example: 2019-11-15 12:57:46 +00:00
search_volumeintegerOptionalcurrent search volume rate of a keyword
is_normalizedbooleanOptionalkeyword info is normalized if true, values are normalized with Bing data
monthly_searchesintegerOptionalmonthly search volume rates array of objects with search volume rates in a certain month of a year
yearintegerOptionalyear
monthintegerOptionalmonth
search_volumeintegerOptionalsearch volume rate in a certain month of a year
keyword_info_normalized_with_clickstreamobjectOptionalcontains keyword search volume normalized with clickstream data
last_updated_timestringOptionaldate and time when the dataset was updated in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00” example: 2019-11-15 12:57:46 +00:00
search_volumeintegerOptionalcurrent search volume rate of a keyword
is_normalizedbooleanOptionalkeyword info is normalized if true, values are normalized with clickstream data
monthly_searchesintegerOptionalmonthly search volume rates array of objects with search volume rates in a certain month of a year
yearintegerOptionalyear
monthintegerOptionalmonth
search_volumeintegerOptionalsearch volume rate in a certain month of a year