DataForSEO
SEO, search-engine results, keyword research, backlinks and AI visibility data.
Top Searches
The highest-volume keywords in a location, unfiltered by seed or site. 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. This is the discovery end of the family: use it when there is no seed keyword yet, then narrow with post_dataforseo_labs_google_keyword_ideas_live.
Pricing reference
- Metering: Reported response cost.
- Reference request estimate: USD 0.1356.
- Reference customer multiplier: 1.0. Do not apply it again to a settled customer amount.
Reference metadata only, not an account quote, a guaranteed price or a spending cap. Resource credits are not Felo credits. Final charges follow Felo billing records.
- Type: array (object | null)[]
- filtersType: array (object | null)[] | null
array of results filtering parameters
optional field
you can add several filters at once (8 filters maximum)
you should set a logical operatorand,orbetween 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 withlikeandnot_like,as well asilikeandnot_iliketo 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","<",0.5],
"or",["keyword_info.high_top_of_page_bid","<=",0.5]]]
for more information about filters, please refer to Dataforseo Labs - Filters or this help center guideEmpty object - ignoreType: boolean | null
_synonyms ignore highly similar keywords
optional field
if set totrueonly core keywords will be returned, all highly similar keywords will be excluded;
default value:false - includeType: boolean | null
_clickstream _data include or exclude data from clickstream-based metrics in the result
optional field
if the parameter is set totrue, you will receiveclickstream_keyword_info,keyword_info_normalized_with_clickstream, andkeyword_info_normalized_with_bingfields in the response
default value:false
with this parameter enabled, you will be charged double the price for the requestlearn more about how clickstream-based metrics are calculated in this help center article
- includeType: boolean | null
_serp _info include data from SERP for each keyword
optional field
if set totrue, we will return aserp_infoarray containing SERP data (number of search results, relevant URL, and SERP features) for every keyword in the response
default value:false - languageType: string | null
_code language code
required field if you don't specifylanguage_name
Note: it is required to specify eitherlanguage_nameorlanguage_code
you can receive the list of available locations with theirlanguage_codeby making a separate request to thehttps://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages
example:en - languageType: string
_name full name of the language
required field if you don't specifylanguage_code
Note: it is required to specify eitherlanguage_nameorlanguage_code
you can receive the list of available locations with theirlanguage_nameby making a separate request to thehttps://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages
example:English - limitType: integer | null
the maximum number of returned keywords
optional field
note: you can get more than 1000 results by using theoffset_tokenprovided in the response to each subsequent request
default value:1000
maximum value:1000 - locationType: integer
_code location code
required field if you don't specifylocation_name
Note: it is required to specify eitherlocation_nameorlocation_code
you can receive the list of available locations with theirlocation_codeby making a separate request to thehttps://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages
example:2840 - locationType: string
_name full name of the location
required field if you don't specifylocation_code
Note: it is required to specify eitherlocation_nameorlocation_code
you can receive the list of available locations with theirlocation_nameby making a separate request to thehttps://api.dataforseo.com/v3/dataforseo_labs/locations_and_languages
example:United Kingdom - offsetType: integer | null
offset in the results array of returned keywords
optional field
default value:0
if you specify the10value, 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 theoffset_tokeninstead. - offsetType: string | null
_token offset 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 uniqueoffset_tokenvalue from the response array, you will get the subsequent results of the initial task;offset_tokenvalues are unique for each subsequent task
Note: if theoffset_tokenis specified in the request, all other parameters exceptlimitwill not be taken into account when processing a task.
learn more about this parameter on our Help Center - orderType: array string[] | null
_by results sorting rules
optional field
you can use the same values as in thefiltersarray to sort the results
possible sorting types:asc- results will be sorted in the ascending orderdesc- 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.cpc,desc"] - tagType: string | null
user-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 specifiedtagvalue in thedataobject of the response
- Type: object | null · Response36Afe1097B20_DataforseoLabsGoogleTopSearchesLiveResponseInfo200
- Type: number | null Format: doublecost
total tasks cost, USD
- Type: integer | nullstatus
_code general status code you can find the full list of the response codes here
- Type: string | nullstatus
_message general informational message you can find the full list of general informational messages here
- Type: array (object | null)[] | nulltasks
array of tasks
- Type: object | null · Response36Afe1097B20_DataforseoLabsGoogleTopSearchesLiveTaskInfo
- costType: number | null Format: double
total tasks cost, USD
- dataType: object | null
contains the same parameters that you specified in the POST request
- propertyType: object | null
Name
- idType: string | null
task identifier unique task identifier in our system in the UUID format
- pathType: array (string | null)[] | null
URL path
- resultType: array (object | null)[] | null
array of results
- itemsType: array (object | null)[] | null
contains keywords and related data
- avgType: object | null · Response36Afe1097B20_AvgBacklinksInfo
_backlinks _info backlink 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- backlinksType: number | null
average number of backlinks
- dofollowType: number | null
average number of dofollow links
- lastType: string | null
_updated _time date 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 - mainType: number | null
_domain _rank - rankType: number | null
- referringType: number | null
_domains average number of referring domains
- referringType: number | null
_main _domains average number of referring main domains
- referringType: number | null
_pages average number of referring pages
- seType: string | null
_type search engine type
- clickstreamType: object | null · Response36Afe1097B20_ClickstreamKeywordInfo
_keyword _info clickstream data for the returned keyword
to retrieve results for this field, the parameterinclude_clickstream_datamust be set totrue- ageType: object | null
_distribution - propertyType: integer | null Format: int64
Name Signed 64-bit integers (long type).
- genderType: object | null
_distribution - propertyType: integer | null Format: int64
Name Signed 64-bit integers (long type).
- lastType: string | null
_updated _time date 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 - monthlyType: array (object | null)[] | null
_searches monthly searches
represents the (approximate) number of searches on this keyword idea (as available for the past twelve months), targeted to the specified geographic locations- monthType: integer | null
month
- searchType: integer | null
_volume monthly average search volume rate
- yearType: integer | null
year
- searchType: integer | null Format: int64
_volume average monthly search volume rate
represents the (approximate) number of searches for the given keyword idea on google.com
- keywordType: string | null
returned keyword idea
- keywordType: object | null · Response36Afe1097B20_KeywordInfo
_info keyword data for the returned keyword idea
- categoriesType: array integer[] | null
- competitionType: number | null
competition
represents the relative amount of competition associated with the given keyword. This value is based on Google Ads data and can be between 0 and 1 (inclusive) - competitionType: string | null
_level - cpcType: number | null
cost-per-click
represents the average cost per click (USD) historically paid for the keyword - highType: number | null
_top _of _page _bid maximum 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 - lastType: string | null
_updated _time date 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 - lowType: number | null
_top _of _page _bid minimum 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 - monthlyType: array (object | null)[] | null
_searches monthly searches
represents the (approximate) number of searches on this keyword idea (as available for the past twelve months), targeted to the specified geographic locations- monthType: integer | null
month
- searchType: integer | null
_volume monthly average search volume rate
- yearType: integer | null
year
- seType: string | null
_type search engine type
- searchType: integer | null Format: int64
_volume average monthly search volume rate
represents the (approximate) number of searches for the given keyword idea on google.com - searchType: object | null · Response36Afe1097B20_SearchVolumeTrend
_volume _trend search volume trend changes
represents search volume change in percent compared to the previous period- monthlyType: integer | null
search volume change in percent compared to the previous month
- quarterlyType: integer | null
search volume change in percent compared to the previous quarter
- yearlyType: integer | null
search volume change in percent compared to the previous year
- keywordType: object | null · Response36Afe1097B20_KeywordInfoNormalizedWithInfo
_info _normalized _with _bing contains keyword search volume normalized with Bing search volume
- isType: boolean | null
_normalized keyword info is normalized if true, values are normalized with Bing data
- lastType: string | null
_updated _time date 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
- monthlyType: array (object | null)[] | null
_searches monthly search volume rates array of objects with search volume rates in a certain month of a year
- monthType: integer | null
month
- searchType: integer | null
_volume monthly average search volume rate
- yearType: integer | null
year
- searchType: integer | null
_volume current search volume rate of a keyword
- keywordType: object | null · Response36Afe1097B20_KeywordInfoNormalizedWithInfo
_info _normalized _with _clickstream contains keyword search volume normalized with clickstream data
- isType: boolean | null
_normalized keyword info is normalized if true, values are normalized with Bing data
- lastType: string | null
_updated _time date 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
- monthlyType: array (object | null)[] | null
_searches monthly search volume rates array of objects with search volume rates in a certain month of a year
- monthType: integer | null
month
- searchType: integer | null
_volume monthly average search volume rate
- yearType: integer | null
year
- searchType: integer | null
_volume current search volume rate of a keyword
- keywordType: object | null · Response36Afe1097B20_KeywordProperties
_properties additional information about the keyword
- coreType: string | null
_keyword main keyword in a group
contains the main keyword in a group determined by the synonym clustering algorithm
if the value isnull, our database does not contain any keywords the corresponding algorithm could identify as synonymous withkeyword - detectedType: string | null
_language detected language of the keyword
indicates the language of the keyword as identified by our system - isType: boolean | null
_another _language detected language of the keyword is different from the set language
iftrue, the language set in the request does not match the language determined by our system for a given keyword - keywordType: integer | null
_difficulty difficulty 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 - seType: string | null
_type search engine type
- synonymType: string | null
_clustering _algorithm the algorithm used to identify synonyms
possible values:keyword_metrics- indicates the algorithm based onkeyword_infoparameterstext_processing- indicates the text-based algorithm
if the value isnull, our database does not contain any keywords the corresponding algorithm could identify as synonymous withkeyword - wordsType: integer | null Format: int64
_count number of words in the keyword
indicates how many words the keyword consists of
- languageType: string | null
_code language code in a POST array
- locationType: integer | null
_code location code in a POST array
- seType: string | null
_type search engine type
- searchType: object | null · Response36Afe1097B20_SearchIntentInfo
_intent _info - foreignType: array (string | null)[] | null
_intent supplementary search intents
possible values:informational,navigational,commercial,transactional - lastType: string | null
_updated _time date 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 - mainType: string | null
_intent main search intent
possible values:informational,navigational,commercial,transactional - seType: string | null
_type search engine type
- serpType: object | null · Response36Afe1097B20_SerpInfo
_info SERP data
the value will benullif you didn't set the fieldinclude_serp_infototruein the POST array or if there is no SERP data for this keyword in our database- checkType: string | null
_url direct URL to search engine results
you can use it to make sure that we provided accurate results - lastType: string | null
_updated _time date 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 - previousType: string | null
_updated _time previous 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-10-15 12:57:46 +00:00 - seType: integer | null Format: int64
_results _count number of search results for the returned keyword
- seType: string | null
_type search engine type
- serpType: array (string | null)[] | null
_item _types types 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 fororganic,paid,featured_snippet, andlocal_packelements
- itemsType: integer | null Format: int64
_count the number of results returned in the
itemsarray - languageType: string | null
_code language code in a POST array
- locationType: integer | null
_code location code in a POST array
- offsetType: integer | null
current offset value
- offsetType: string | null
_token offset token for subsequent requests
you can use the string provided in this field to get the subsequent results of the initial task;
note:offset_tokenvalues are unique for each subsequent task - seType: string | null
_type search engine type
- totalType: integer | null Format: int64
_count total amount of results in our database relevant to your request
- resultType: integer | null Format: int64
_count number of elements in the result array
- statusType: integer | null
_code status 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
- statusType: string | null
_message informational message of the task you can find the full list of general informational messages here
- timeType: string | null
execution time, seconds
- Type: integer | null Format: int64tasks
_count the number of tasks in the tasks array
- Type: integer | null Format: int64tasks
_error the number of tasks in the tasks array returned with an error
- Type: string | nulltime
total execution time, seconds
- Type: string | nullversion
the current version of the API
application/json - 400
The request could not be processed. Check the request parameters.
- 401
A valid Felo API key is required.
- 402
The request cannot proceed because a billing requirement is not met.
- 403
The account is not permitted to perform this operation.
- 429
A request or spending limit has been reached.
- 502
The service could not complete the request.
- 503
The API or billing service is temporarily unavailable.
- 504
The service timed out while processing the request.
- default
Error response; upstream passthrough responses may use provider formats
application/json
curl https://openapi.felo.ai/v1/beta/dataforseo/dataforseo_labs/google/top_searches/live \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '[
{
"language_name": "English",
"location_code": 2840,
"limit": 3
}
]'
{
"version": null,
"status_code": null,
"status_message": null,
"time": null,
"cost": null,
"tasks_count": null,
"tasks_error": null,
"tasks": [
{
"id": null,
"status_code": null,
"status_message": null,
"time": null,
"cost": null,
"result_count": null,
"path": [
null
],
"data": null,
"result": [
{
"se_type": null,
"location_code": null,
"language_code": null,
"total_count": null,
"items_count": null,
"offset": null,
"offset_token": null,
"items": [
{
"se_type": null,
"keyword": null,
"location_code": null,
"language_code": null,
"keyword_info": "[Max Depth Exceeded]",
"keyword_info_normalized_with_bing": "[Max Depth Exceeded]",
"keyword_info_normalized_with_clickstream": "[Max Depth Exceeded]",
"clickstream_keyword_info": "[Max Depth Exceeded]",
"keyword_properties": "[Max Depth Exceeded]",
"serp_info": "[Max Depth Exceeded]",
"avg_backlinks_info": "[Max Depth Exceeded]",
"search_intent_info": "[Max Depth Exceeded]"
}
]
}
]
}
]
}