{"id":7478,"date":"2020-10-19T10:34:13","date_gmt":"2020-10-19T10:34:13","guid":{"rendered":"https:\/\/docs_v3.dataforseo.com\/v3\/?page_id=7478"},"modified":"2022-02-21T15:18:50","modified_gmt":"2022-02-21T15:18:50","slug":"keywords_data-bing-keywords_for_category-task_get","status":"publish","type":"page","link":"https:\/\/docs.dataforseo.com\/v3\/keywords_data-bing-keywords_for_category-task_get\/","title":{"rendered":"keywords_data\/bing\/keywords_for_category\/task_get"},"content":{"rendered":"<div class=\"wpb-content-wrapper\"><p>[vc_row][vc_column][vc_column_text]<\/p>\n<h2 id=\"get-serp-results-by-task_id\">Get &#8216;Keywords For Category&#8217; Results by id<\/h2>\n<p>\u200c<br \/>\nThis endpoint will select keywords for the specified <a href=\"\/v3\/keywords_data-bing-categories\/\">product category<\/a>. In addition to the result, you will also receive search volume for the last month, search volume trend for the last year (that allows estimating search volume dynamics), as well as current cost-per-click and competition values for paid search.<\/p>\n<p>Note that the keywords provided for the defined category do not differ by location. However, competition, CPC, search volume, and monthly searches will be specific to the location you set. <\/p>\n<p>You can get up to 3000 keyword suggestions with all essential keyword data in response to one request.<br \/>\n[\/vc_column_text]    <div class=\"endpoint\">\n        <img decoding=\"async\" class=\"endpoint__icon\" src=\"https:\/\/docs.dataforseo.com\/v3\/wp-content\/themes\/dataforseo\/assets\/img\/icons\/checked-circle.svg\" alt=\"checked\">\n\n                    GET            <button class=\"btn-reset button-link copy-button\" data-href=\"https:\/\/api.dataforseo.com\/v3\/keywords_data\/bing\/keywords_for_category\/task_get\/$id\">\n                https:\/\/api.dataforseo.com\/v3\/keywords_data\/bing\/keywords_for_category\/task_get\/$id                <svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n                    <use href=\"https:\/\/docs.dataforseo.com\/v3\/wp-content\/themes\/dataforseo\/assets\/img\/icons\/sprite.svg#layers\"><\/use>\n                <\/svg>\n            <\/button>\n            <\/div>\n    \t<article class=\"info-card info-card--yellow\">\n\t\t<header class=\"info-card__header\">\n\t\t\t<div class=\"info-card__icon\">\n\t\t\t\t<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\">\n\t\t\t\t\t<use href=\"https:\/\/docs.dataforseo.com\/v3\/wp-content\/themes\/dataforseo\/assets\/img\/icons\/sprite.svg#label\"><\/use>\n\t\t\t\t<\/svg>\n\t\t\t<\/div>\n\t\t\t<div class=\"info-card__title\">Pricing<\/div>\n\t\t<\/header>\n\t\t<div class=\"info-card__content\">\n\t\t\t<p> Your account will be charged only for posting a task.<br \/>\nThe cost can be calculated on the <a title=\"Pricing\" href=\"https:\/\/dataforseo.com\/pricing\/keywords-data\/bing-ads\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing<\/a> page.<\/p>\n\t\t<\/div>\n\t<\/article>\n\t[vc_column_text]<\/p>\n<p><strong>Description of the fields for sending a request:<\/strong><\/p>\n<table style=\"width: 86.0726%; height: 34px;\">\n<thead>\n<tr style=\"height: 24px;\">\n<th style=\"width: 12.4003%; height: 24px;\">Field name<\/th>\n<th style=\"width: 3.91588%; height: 24px;\">Type<\/th>\n<th style=\"width: 82.9587%; height: 24px;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"height: 192px;\">\n<td style=\"width: 12.4003%; height: 10px;\"><code>id<\/code><\/td>\n<td style=\"width: 3.91588%; height: 10px;\">string<\/td>\n<td style=\"width: 82.9587%; height: 10px;\"><em>task identifier<\/em><br \/>\n<strong>unique task identifier in our system in the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Universally_unique_identifier\">UUID<\/a> format<\/strong><br \/>\nyou will be able to use it within <strong>30 days<\/strong> to request the results of the task at any time<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u200c<br \/>\n\u200c\u200cAs a response of the API server, you will receive <a href=\"https:\/\/en.wikipedia.org\/wiki\/JSON\">JSON<\/a>-encoded data containing a <code>tasks<\/code> array with the information specific to the set tasks.<\/p>\n<p><strong>Description of the fields in the results array:<\/strong><\/p>\n<table style=\"width: 86.001%; height: 817px;\">\n<thead>\n<tr style=\"height: 24px;\">\n<th style=\"width: 24.3517%; height: 24px;\">Field name<\/th>\n<th style=\"width: 6.19209%; height: 24px;\">Type<\/th>\n<th style=\"width: 79.8065%; height: 24px;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"height: 48px;\">\n<td style=\"width: 24.3517%; height: 48px;\"><code>version<\/code><\/td>\n<td style=\"width: 6.19209%; height: 48px;\">string<\/td>\n<td style=\"width: 79.8065%; height: 48px;\"><em>the current version of the API<\/em><\/td>\n<\/tr>\n<tr style=\"height: 48px;\">\n<td style=\"width: 38.423%; height: 48px;\"><code>status_code<\/code><\/td>\n<td style=\"width: 1.75219%; height: 48px;\">integer<\/td>\n<td style=\"width: 61.2015%; height: 48px;\"><i>general status code<\/i><br \/>\nyou can find the full list of the response codes <a href=\"\/v3\/appendix\/errors\">here<\/a><br \/>\n<strong>Note:<\/strong> we strongly recommend designing a necessary system for handling related exceptional or error conditions<\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\"><code>status_message<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">string<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>general informational message<\/em><br \/>\nyou can find the full list of general informational messages <a href=\"\/v3\/appendix\/errors\">here<\/a><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\"><code>time<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">string<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>execution time, seconds<\/em><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\"><code>cost<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">float<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>total <i>tasks<\/i> cost, USD<\/em><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\"><code>tasks_count<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">integer<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>the number of tasks in the <strong><code>tasks<\/code><\/strong> array<\/em><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\"><code>tasks_error<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">integer<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>the number of tasks in the <strong><code>tasks<\/code><\/strong> array returned with an error<\/em><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\"><strong><code>tasks<\/code><\/strong><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">array<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>array of tasks<\/em><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 <code>id<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">string<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>task identifier<\/em><br \/>\n<strong>unique task identifier in our system in the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Universally_unique_identifier\">UUID<\/a> format<\/strong><\/td>\n<\/tr>\n<tr style=\"height: 48px;\">\n<td style=\"width: 24.3517%; height: 48px;\">\u00a0 \u00a0 \u00a0 \u00a0 <code>status_code<\/code><\/td>\n<td style=\"width: 6.19209%; height: 48px;\">integer<\/td>\n<td style=\"width: 79.8065%; height: 48px;\"><em>status code of the task<\/em><br \/>\ngenerated by DataForSEO; can be within the following range: 10000-60000<br \/>\nyou can find the full list of response codes <a href=\"\/v3\/appendix-errors\/\">here<\/a><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 <code>status_message<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">string<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>informational message of the task<\/em><br \/>\nyou can find the full list of general informational messages <a href=\"\/v3\/appendix-errors\/\">here<\/a><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 <code>time<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">string<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>execution time, seconds<\/em><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 <code>cost<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">float<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>cost of the task, USD<\/em><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 <code>result_count<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">integer<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>number of elements in the <code>result<\/code> array<\/em><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 <code>path<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">array<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>URL path<\/em><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 <code>data<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">object<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>contains the same parameters that you specified in the POST request<\/em><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 <strong>\u00a0 \u00a0 <code>result<\/code><\/strong><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">array<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>array of results<\/em><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <code>keyword<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">string<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>keyword in a POST array<\/em><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <code>location_code<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">integer<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>location code in a POST array<\/em><br \/>\nif there is no data, then the value is\u00a0<code>null<\/code><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <code>language_code<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">string<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>language code in a POST array<\/em><br \/>\nif there is no data, then the value is\u00a0<code>null<\/code><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <code>search_partners<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">boolean<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>indicates whether data from partner networks included in the response<\/em>\n<\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <code>device<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">string<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>device type specified in a POST array<\/em><br \/>\nkeyword data is returned for the specified device<br \/>\nif there is no data, then the value is <code>null<\/code><\/td>\n<\/tr>\n<tr style=\"height: 25px;\">\n<td style=\"width: 24.3517%; height: 25px;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <code>competition<\/code><\/td>\n<td style=\"width: 6.19209%; height: 25px;\">float<\/td>\n<td style=\"width: 79.8065%; height: 25px;\"><em>competition<\/em><br \/>\nrepresents the relative amount of competition associated with the given keyword in paid SERP only;<br \/>\nthis value is based on Bing Ads data and can be between 0 and 1 (inclusive);<br \/>\nif there is no data, then the value is\u00a0<code>null<\/code><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <code>cpc<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">float<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>cost-per-click<\/em><br \/>\nrepresents the average cost per click (USD) historically paid for the keyword.<br \/>\nif there is no data, then the value is\u00a0<code>null<\/code><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <code>search_volume<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">integer<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>monthly average search volume rate<\/em><br \/>\nrepresents the number of searches triggered by the keyword on Bing for the past month <\/p>\n<p>search volume is rounded to the decimal values<\/p>\n<p>if there is no data, then the value is\u00a0<code>null<\/code><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <code>categories<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">array<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>product and service categories<\/em><br \/>\nyou can download <a href=\"\/v3\/keywords_data-bing-categories\/\">the\u00a0full list of possible categories<\/a><br \/>\nif there is no data, then the value is\u00a0<code>null<\/code><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <code>monthly_searches<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">array<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>monthly searches<\/em><br \/>\nrepresents the (approximate) number of searches on this keyword (as available for the past twelve months), targeted to the specified geographic locations.<br \/>\nif there is no data, then the value is\u00a0<code>null<\/code><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <code>year<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">integer<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>year<\/em><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <code>month<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">integer<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>month<\/em><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <code>search_volume<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">integer<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>monthly average search volume rate<\/em><br \/>\nsearch volume is rounded to the decimal values<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u200c\u200c[\/vc_column_text][\/vc_column][\/vc_row]<\/p>\n<blockquote><p>Instead of \u2018login\u2019 and \u2018password\u2019 use your credentials from https:\/\/app.dataforseo.com\/api-access<\/p><\/blockquote><div id=\"curl\" class=\"tab-content example__content\"><div class=\"example__code\"><pre><code class=\"language-bash hljs\"># Instead of &#039;login&#039; and &#039;password&#039; use your credentials from https:\/\/app.dataforseo.com\/api-access \r\nlogin=&quot;login&quot; \r\npassword=&quot;password&quot; \r\ncred=&quot;$(printf ${login}:${password} | base64)&quot; \r\nid=&quot;10251448-0001-0109-0000-6f4dd84c430d&quot; \r\ncurl --location --request GET &quot;https:\/\/api.dataforseo.com\/v3\/keywords_data\/bing\/keywords_for_category\/task_get\/${id}&quot; \r\n--header &quot;Authorization: Basic ${cred}&quot;  \r\n--header &quot;Content-Type: application\/json&quot; \r\n--data-raw &quot;&quot;<\/code><\/pre><\/div><\/div><div id=\"php\" class=\"tab-content example__content\"><div class=\"example__code\"><pre><code class=\"language-php hljs\">&lt;?php\r\n\/\/ You can download this file from here https:\/\/cdn.dataforseo.com\/v3\/examples\/php\/php_RestClient.zip\r\nrequire(&#039;RestClient.php&#039;);\r\n$api_url = &#039;https:\/\/api.dataforseo.com\/&#039;;\r\ntry {\r\n\t\/\/ Instead of &#039;login&#039; and &#039;password&#039; use your credentials from https:\/\/app.dataforseo.com\/api-access\r\n\t$client = new RestClient($api_url, null, &#039;login&#039;, &#039;password&#039;);\r\n} catch (RestClientException $e) {\r\n\techo &quot;n&quot;;\r\n\tprint &quot;HTTP code: {$e-&gt;getHttpCode()}n&quot;;\r\n\tprint &quot;Error code: {$e-&gt;getCode()}n&quot;;\r\n\tprint &quot;Message: {$e-&gt;getMessage()}n&quot;;\r\n\tprint  $e-&gt;getTraceAsString();\r\n\techo &quot;n&quot;;\r\n\texit();\r\n}\r\ntry {\r\n\t$result = array();\r\n\t\/\/ #1 - using this method you can get a list of completed tasks\r\n\t\/\/ in addition to &#039;v2&#039; you can also set other parameters\r\n\t\/\/ the full list of possible parameters is available in documentation\r\n\t\/\/ GET \/v3\/keywords_data\/bing\/v2\/tasks_ready\r\n\t$tasks_ready = $client-&gt;get(&#039;\/v3\/keywords_data\/bing\/v2\/tasks_ready&#039;);\r\n\t\/\/ you can find the full list of the response codes here https:\/\/docs.dataforseo.com\/v3\/appendix\/errors\r\n\tif (isset($tasks_ready[&#039;status_code&#039;]) AND $tasks_ready[&#039;status_code&#039;] === 20000) {\r\n\t\tforeach ($tasks_ready[&#039;tasks&#039;] as $task) {\r\n\t\t\tif (isset($task[&#039;result&#039;])) {\r\n\t\t\t\tforeach ($task[&#039;result&#039;] as $task_ready) {\r\n\t\t\t\t\t\/\/ #2 - using this method you can get results of each completed task\r\n\t\t\t\t\t\/\/ GET \/v3\/keywords_data\/bing\/v2\/task_get\/$id\r\n\t\t\t\t\tif (isset($task_ready[&#039;endpoint&#039;])) {\r\n\t\t\t\t\t\t$result[] = $client-&gt;get($task_ready[&#039;endpoint&#039;]);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t\/\/ #3 - another way to get the task results by id\r\n\t\t\t\t\t\/\/ GET \/v3\/keywords_data\/bing\/v2\/task_get\/$id\r\n\t\t\t\t\t\/*\r\n\t\t\t\t\tif (isset($task_ready[&#039;id&#039;])) {\r\n\t\t\t\t\t\t$result[] = $client-&gt;get(&#039;\/v3\/keywords_data\/bing\/v2\/task_get\/&#039; . $task_ready[&#039;id&#039;]);\r\n\t\t\t\t\t}\r\n\t\t\t\t\t*\/\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tprint_r($result);\r\n\t\/\/ do something with result\r\n} catch (RestClientException $e) {\r\n\techo &quot;n&quot;;\r\n\tprint &quot;HTTP code: {$e-&gt;getHttpCode()}n&quot;;\r\n\tprint &quot;Error code: {$e-&gt;getCode()}n&quot;;\r\n\tprint &quot;Message: {$e-&gt;getMessage()}n&quot;;\r\n\tprint  $e-&gt;getTraceAsString();\r\n\techo &quot;n&quot;;\r\n}\r\n$client = null;\r\n?&gt;<\/code><\/pre><\/div><\/div><div id=\"javascript\" class=\"tab-content example__content\"><div class=\"example__code\"><pre><code class=\"language-javascript hljs\">const task_id = &#039;02231934-2604-0066-2000-570459f04879&#039;;\r\n\r\nconst axios = require(&#039;axios&#039;);\r\n\r\naxios({\r\n    method: &#039;get&#039;,\r\n    url: &#039;https:\/\/api.dataforseo.com\/v3\/keywords_data\/bing\/keywords_for_category\/task_get\/&#039; + task_id,\r\n    auth: {\r\n        username: &#039;login&#039;,\r\n        password: &#039;password&#039;\r\n    },\r\n    headers: {\r\n        &#039;content-type&#039;: &#039;application\/json&#039;\r\n    }\r\n}).then(function (response) {\r\n    var result = response[&#039;data&#039;][&#039;tasks&#039;];\r\n    \/\/ Result data\r\n    console.log(result);\r\n}).catch(function (error) {\r\n    console.log(error);\r\n});<\/code><\/pre><\/div><\/div><div id=\"python\" class=\"tab-content example__content\"><div class=\"example__code\"><pre><code class=\"language-python hljs\">from client import RestClient\r\n# You can download this file from here https:\/\/cdn.dataforseo.com\/v3\/examples\/python\/python_Client.zip\r\nclient = RestClient(&quot;login&quot;, &quot;password&quot;)\r\n# 1 - using this method you can get a list of completed tasks\r\n# in addition to &#039;v2&#039; you can also set other parameters\r\n# the full list of possible parameters is available in documentation\r\n# GET \/v3\/keywords_data\/bing\/v2\/tasks_ready\r\nresponse = client.get(&quot;\/v3\/keywords_data\/bing\/v2\/tasks_ready&quot;)\r\n# you can find the full list of the response codes here https:\/\/docs.dataforseo.com\/v3\/appendix\/errors\r\nif response[&#039;status_code&#039;] == 20000:\r\n    results = []\r\n    for task in response[&#039;tasks&#039;]:\r\n        if (task[&#039;result&#039;] and (len(task[&#039;result&#039;]) &gt; 0)):\r\n            for resultTaskInfo in task[&#039;result&#039;]:\r\n                # 2 - using this method you can get results of each completed task\r\n\t\t\t\t# GET \/v3\/keywords_data\/bing\/v2\/task_get\/$id\r\n                if(resultTaskInfo[&#039;endpoint&#039;]):\r\n                    results.append(client.get(resultTaskInfo[&#039;endpoint&#039;]))\r\n                &#039;&#039;&#039;\r\n                # 3 - another way to get the task results by id\r\n                # GET \/v3\/keywords_data\/bing\/v2\/task_get\/$id              \r\n                if(resultTaskInfo[&#039;id&#039;]):\r\n                    results.append(client.get(&quot;\/v3\/keywords_data\/bing\/v2\/task_get\/&quot; + resultTaskInfo[&#039;id&#039;]))\r\n                &#039;&#039;&#039;\r\n    print(results)\r\n    # do something with result\r\nelse:\r\n    print(&quot;error. Code: %d Message: %s&quot; % (response[&quot;status_code&quot;], response[&quot;status_message&quot;]))<\/code><\/pre><\/div><\/div><div id=\"csharp\" class=\"tab-content example__content\"><div class=\"example__code\"><pre><code class=\"language-csharp hljs\">using Newtonsoft.Json;\r\nusing System;\r\nusing System.Collections.Generic;\r\nusing System.Net.Http;\r\nusing System.Net.Http.Headers;\r\nusing System.Text;\r\nusing System.Threading.Tasks;\r\n\r\nnamespace DataForSeoDemos\r\n{\r\n    public static partial class Demos\r\n    {\r\n        public static async Task keywords_data_task_get()\r\n        {\r\n            var httpClient = new HttpClient\r\n            {\r\n                BaseAddress = new Uri(&quot;https:\/\/api.dataforseo.com\/&quot;),\r\n                \/\/ Instead of &#039;login&#039; and &#039;password&#039; use your credentials from https:\/\/app.dataforseo.com\/api-access\r\n                DefaultRequestHeaders = { Authorization = new AuthenticationHeaderValue(&quot;Basic&quot;, Convert.ToBase64String(Encoding.ASCII.GetBytes(&quot;login:password&quot;))) }\r\n            };\r\n            \/\/ #1 - using this method you can get a list of completed tasks\r\n            \/\/ in addition to &#039;v2&#039; you can also set other parameters\r\n            \/\/ the full list of possible parameters is available in documentation\r\n            \/\/ GET \/v3\/keywords_data\/bing\/v2\/tasks_ready\r\n            var response = await httpClient.GetAsync(&quot;\/v3\/keywords_data\/bing\/v2\/tasks_ready&quot;);\r\n            var tasksInfo = JsonConvert.DeserializeObject&lt;dynamic&gt;(await response.Content.ReadAsStringAsync());\r\n            var tasksResponses = new List&lt;object&gt;();\r\n            \/\/ you can find the full list of the response codes here https:\/\/docs.dataforseo.com\/v3\/appendix\/errors\r\n            if (tasksInfo.status_code == 20000)\r\n            {\r\n                if (tasksInfo.tasks != null)\r\n                {\r\n                    foreach (var tasks in tasksInfo.tasks)\r\n                    {\r\n                        if (tasks.result != null)\r\n                        {\r\n                            foreach (var task in tasks.result)\r\n                            {\r\n                                if (task.endpoint != null)\r\n                                {\r\n                                    \/\/ #2 - using this method you can get results of each completed task\r\n                                    \/\/ GET \/v3\/keywords_data\/bing\/v2\/task_get\/$id\r\n                                    var taskGetResponse = await httpClient.GetAsync((string)task.endpoint);\r\n                                    var taskResultObj = JsonConvert.DeserializeObject&lt;dynamic&gt;(await taskGetResponse.Content.ReadAsStringAsync());\r\n                                    if (taskResultObj.tasks != null)\r\n                                    {\r\n                                        var fst = taskResultObj.tasks.First;\r\n                                        \/\/ you can find the full list of the response codes here https:\/\/docs.dataforseo.com\/v3\/appendix\/errors\r\n                                        if (fst.status_code &gt;= 40000 || fst.result == null)\r\n                                            Console.WriteLine($&quot;error. Code: {fst.status_code} Message: {fst.status_message}&quot;);\r\n                                        else\r\n                                            tasksResponses.Add(fst.result);\r\n                                    }\r\n                                    \/\/ #3 - another way to get the task results by id\r\n                                    \/\/ GET \/v3\/keywords_data\/bing\/v2\/task_get\/$id\r\n                                    \/*\r\n                                    var tasksGetResponse = await httpClient.GetAsync(&quot;\/v3\/keywords_data\/bing\/v2\/task_get\/&quot; + (string)task.id);\r\n                                    var taskResultObj = JsonConvert.DeserializeObject&lt;dynamic&gt;(await tasksGetResponse.Content.ReadAsStringAsync());\r\n                                    if (taskResultObj.tasks != null)\r\n                                    {\r\n                                        var fst = taskResultObj.tasks.First;\r\n                                        \/\/ you can find the full list of the response codes here https:\/\/docs.dataforseo.com\/v3\/appendix\/errors\r\n                                        if (fst.status_code &gt;= 40000 || fst.result == null)\r\n                                            Console.WriteLine($&quot;error. Code: {fst.status_code} Message: {fst.status_message}&quot;);\r\n                                        else\r\n                                            tasksResponses.Add(fst.result);\r\n                                    }\r\n                                    *\/\r\n                                }\r\n                            }\r\n                        }\r\n                    }\r\n                }\r\n                if (tasksResponses.Count &gt; 0)\r\n                    \/\/ do something with result\r\n                    Console.WriteLine(String.Join(Environment.NewLine, tasksResponses));\r\n                else\r\n                    Console.WriteLine(&quot;No completed tasks&quot;);\r\n            }\r\n            else\r\n                Console.WriteLine($&quot;error. Code: {tasksInfo.status_code} Message: {tasksInfo.status_message}&quot;);\r\n        }\r\n    }\r\n}<\/code><\/pre><\/div><\/div><blockquote><p>The above command returns JSON structured like this:<\/p><\/blockquote><div class=\"example example--json\"><div class=\"example__content\"><div class=\"example__code example__code-json\"><pre><code class=\"language-json hljs\">{\r\n  &quot;version&quot;: &quot;0.1.20200923&quot;,\r\n  &quot;status_code&quot;: 20000,\r\n  &quot;status_message&quot;: &quot;Ok.&quot;,\r\n  &quot;time&quot;: &quot;0 sec.&quot;,\r\n  &quot;cost&quot;: 0,\r\n  &quot;tasks_count&quot;: 1,\r\n  &quot;tasks_error&quot;: 0,\r\n  &quot;tasks&quot;: [\r\n    {\r\n      &quot;id&quot;: &quot;10191311-1535-0109-0000-2c849fe90991&quot;,\r\n      &quot;status_code&quot;: 20000,\r\n      &quot;status_message&quot;: &quot;Ok.&quot;,\r\n      &quot;time&quot;: &quot;0 sec.&quot;,\r\n      &quot;cost&quot;: 0,\r\n      &quot;result_count&quot;: 2736,\r\n      &quot;path&quot;: [\r\n        &quot;v3&quot;,\r\n        &quot;keywords_data&quot;,\r\n        &quot;bing&quot;,\r\n        &quot;keywords_for_category&quot;,\r\n        &quot;task_get&quot;,\r\n        &quot;10191311-1535-0109-0000-2c849fe90991&quot;\r\n      ],\r\n      &quot;data&quot;: {\r\n        &quot;api&quot;: &quot;keywords_data&quot;,\r\n        &quot;function&quot;: &quot;keywords_for_category&quot;,\r\n        &quot;se&quot;: &quot;bing&quot;,\r\n        &quot;location_code&quot;: 2840,\r\n        &quot;language_code&quot;: &quot;en&quot;,\r\n        &quot;category_code&quot;: 10178\r\n      },\r\n      &quot;result&quot;: [\r\n        {\r\n          &quot;keyword&quot;: &quot;gucci belt&quot;,\r\n          &quot;location_code&quot;: 2840,\r\n          &quot;language_code&quot;: &quot;en&quot;,\r\n          &quot;search_partners&quot;: false,\r\n          &quot;competition&quot;: 0.9,\r\n          &quot;cpc&quot;: 0.18,\r\n          &quot;search_volume&quot;: 274520,\r\n          &quot;categories&quot;: [\r\n            10178\r\n          ],\r\n          &quot;monthly_searches&quot;: [\r\n            {\r\n              &quot;year&quot;: 2020,\r\n              &quot;month&quot;: 9,\r\n              &quot;search_volume&quot;: 308180\r\n            },\r\n            {\r\n              &quot;year&quot;: 2020,\r\n              &quot;month&quot;: 8,\r\n              &quot;search_volume&quot;: 261610\r\n            },\r\n            {\r\n              &quot;year&quot;: 2020,\r\n              &quot;month&quot;: 7,\r\n              &quot;search_volume&quot;: 294680\r\n            },\r\n            {\r\n              &quot;year&quot;: 2020,\r\n              &quot;month&quot;: 6,\r\n              &quot;search_volume&quot;: 306460\r\n            },\r\n            {\r\n              &quot;year&quot;: 2020,\r\n              &quot;month&quot;: 5,\r\n              &quot;search_volume&quot;: 278000\r\n            },\r\n            {\r\n              &quot;year&quot;: 2020,\r\n              &quot;month&quot;: 4,\r\n              &quot;search_volume&quot;: 250210\r\n            },\r\n            {\r\n              &quot;year&quot;: 2020,\r\n              &quot;month&quot;: 3,\r\n              &quot;search_volume&quot;: 245540\r\n            },\r\n            {\r\n              &quot;year&quot;: 2020,\r\n              &quot;month&quot;: 2,\r\n              &quot;search_volume&quot;: 249040\r\n            },\r\n            {\r\n              &quot;year&quot;: 2020,\r\n              &quot;month&quot;: 1,\r\n              &quot;search_volume&quot;: 269880\r\n            },\r\n            {\r\n              &quot;year&quot;: 2019,\r\n              &quot;month&quot;: 12,\r\n              &quot;search_volume&quot;: 310030\r\n            },\r\n            {\r\n              &quot;year&quot;: 2019,\r\n              &quot;month&quot;: 11,\r\n              &quot;search_volume&quot;: 258250\r\n            },\r\n            {\r\n              &quot;year&quot;: 2019,\r\n              &quot;month&quot;: 10,\r\n              &quot;search_volume&quot;: 262400\r\n            }\r\n          ]\r\n        },\r\n        {\r\n          &quot;keyword&quot;: &quot;sunglasses&quot;,\r\n          &quot;location_code&quot;: 2840,\r\n          &quot;language_code&quot;: &quot;en&quot;,\r\n          &quot;search_partners&quot;: false,\r\n          &quot;competition&quot;: 0.9,\r\n          &quot;cpc&quot;: 0.28,\r\n          &quot;search_volume&quot;: 177700,\r\n          &quot;categories&quot;: [\r\n            10178\r\n          ],\r\n          &quot;monthly_searches&quot;: [\r\n            {\r\n              &quot;year&quot;: 2020,\r\n              &quot;month&quot;: 9,\r\n              &quot;search_volume&quot;: 231320\r\n            },\r\n            {\r\n              &quot;year&quot;: 2020,\r\n              &quot;month&quot;: 8,\r\n              &quot;search_volume&quot;: 229620\r\n            },\r\n            {\r\n              &quot;year&quot;: 2020,\r\n              &quot;month&quot;: 7,\r\n              &quot;search_volume&quot;: 238960\r\n            },\r\n            {\r\n              &quot;year&quot;: 2020,\r\n              &quot;month&quot;: 6,\r\n              &quot;search_volume&quot;: 242630\r\n            },\r\n            {\r\n              &quot;year&quot;: 2020,\r\n              &quot;month&quot;: 5,\r\n              &quot;search_volume&quot;: 248820\r\n            },\r\n            {\r\n              &quot;year&quot;: 2020,\r\n              &quot;month&quot;: 4,\r\n              &quot;search_volume&quot;: 181610\r\n            },\r\n            {\r\n              &quot;year&quot;: 2020,\r\n              &quot;month&quot;: 3,\r\n              &quot;search_volume&quot;: 115310\r\n            },\r\n            {\r\n              &quot;year&quot;: 2020,\r\n              &quot;month&quot;: 2,\r\n              &quot;search_volume&quot;: 111960\r\n            },\r\n            {\r\n              &quot;year&quot;: 2020,\r\n              &quot;month&quot;: 1,\r\n              &quot;search_volume&quot;: 110810\r\n            },\r\n            {\r\n              &quot;year&quot;: 2019,\r\n              &quot;month&quot;: 12,\r\n              &quot;search_volume&quot;: 115030\r\n            },\r\n            {\r\n              &quot;year&quot;: 2019,\r\n              &quot;month&quot;: 11,\r\n              &quot;search_volume&quot;: 138220\r\n            },\r\n            {\r\n              &quot;year&quot;: 2019,\r\n              &quot;month&quot;: 10,\r\n              &quot;search_volume&quot;: 168130\r\n            }\r\n          ]\r\n        }\r\n      ]\r\n    }\r\n  ]\r\n}<\/code><\/pre><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"<p>[vc_row][vc_column][vc_column_text] Get &#8216;Keywords For Category&#8217; Results by id \u200c This endpoint will select keywords for the specified product category. In addition to the result, you will also receive search volume for the last month, search volume trend for the last year (that allows estimating search volume dynamics), as well as current cost-per-click and competition values [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"template.php","meta":{"apibase_doc_request_yaml":"","apibase_doc_request_additional_yaml":"","apibase_doc_response_yaml":"","footnotes":""},"class_list":["post-7478","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/pages\/7478","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/comments?post=7478"}],"version-history":[{"count":15,"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/pages\/7478\/revisions"}],"predecessor-version":[{"id":12726,"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/pages\/7478\/revisions\/12726"}],"wp:attachment":[{"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/media?parent=7478"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}