{"id":11985,"date":"2021-12-03T13:09:18","date_gmt":"2021-12-03T13:09:18","guid":{"rendered":"https:\/\/docs_v3.dataforseo.com\/v3\/?page_id=11985"},"modified":"2024-09-27T13:28:09","modified_gmt":"2024-09-27T13:28:09","slug":"dataforseo_labs-bulk_keyword_difficulty-live","status":"publish","type":"page","link":"https:\/\/docs.dataforseo.com\/v3\/dataforseo_labs-bulk_keyword_difficulty-live\/","title":{"rendered":"dataforseo_labs\/bulk_keyword_difficulty\/live"},"content":{"rendered":"<div class=\"wpb-content-wrapper\"><p>[vc_row][vc_column][vc_column_text]<\/p>\n<h2 id=\"setting-serp-tasks\">Bulk Keyword Difficulty (Legacy)<\/h2>\n<p>\u200c\u200c\u200c<\/p>\n<h4 style=\"color: #f44336; font-style: bold;\">Note that the structure of DataForSEO Labs API requests and responses was updated on 2022-03-19. However, we will continue supporting the legacy version documented here. You can review the documentation of the new version <a href=\"\/v3\/dataforseo_labs\/google\/bulk_keyword_difficulty\/live\/?bash\">by this link.<\/a><\/h4>\n<p>&nbsp;<br \/>\nThis endpoint will provide you with the Keyword Difficulty metric for a maximum of 1,000 keywords in one API request. Keyword Difficulty stands for the relative difficulty of ranking in the first top-10 organic results for the related keyword. Keyword Difficulty in DataForSEO API responses indicates the chance of getting in top-10 organic results for a keyword on a logarithmic scale from 0 to 100.  <\/p>\n<p>You can learn more about how we calculate this metric <a href=\"https:\/\/dataforseo.com\/help-center\/what-is-keyword-difficulty-and-how-is-it-calculated\" rel=\"noopener noreferrer\" target=\"_blank\">in this help center article.<\/a><\/p>\n<p>[\/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                    POST            <button class=\"btn-reset button-link copy-button\" data-href=\"https:\/\/api.dataforseo.com\/v3\/dataforseo_labs\/bulk_keyword_difficulty\/live\">\n                https:\/\/api.dataforseo.com\/v3\/dataforseo_labs\/bulk_keyword_difficulty\/live                <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 for each request.<br \/>\nThe cost can be calculated on the <a title=\"Pricing\" href=\"https:\/\/dataforseo.com\/pricing\/dataforseo-labs\/dataforseo-labs-api\" target=\"_blank\" rel=\"noopener noreferrer\">Pricing<\/a> page.<\/p>\n\t\t<\/div>\n\t<\/article>\n\t[vc_column_text]All POST data should be sent in the <a href=\"https:\/\/en.wikipedia.org\/wiki\/JSON\">JSON<\/a> format (UTF-8 encoding). The task setting is done using the POST method. When setting a task, you should send all task parameters in the task array of the generic POST array. You can send up to 2000 API calls per minute.<\/p>\n<p>Below you will find a detailed description of the fields you can use for setting a task.<\/p>\n<p><strong>Description of the fields for setting a task:<\/strong><\/p>\n<table style=\"width: 100%; height: 1259px;\">\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: 192px;\"><code>keywords<\/code><\/td>\n<td style=\"width: 3.9884%; height: 192px;\">array<\/td>\n<td style=\"width: 82.8862%; height: 192px;\"><em>target keywords<\/em><br \/>\n<strong>required field<\/strong><br \/>\nUTF-8 encoding<br \/>\nmaximum number of keywords you can specify in this array: 1000<br \/>\neach keyword should be at least 3 characters long;<br \/>\nthe keywords will be converted to lowercase format<\/td>\n<\/tr>\n<tr style=\"height: 10px;\">\n<td style=\"width: 12.4003%; height: 10px;\"><code>location_name<\/code><\/td>\n<td style=\"width: 3.91588%; height: 10px;\">string<\/td>\n<td style=\"width: 82.9587%; height: 10px;\"><em>full name of the location<\/em><br \/>\n<strong>required field if don&#8217;t specify <code>location_code<\/code><\/strong><br \/>\nyou can receive the list of available locations with their <code>location_name<\/code> by making a separate request to the<br \/>\n<code>https:\/\/api.dataforseo.com\/v3\/dataforseo_labs\/locations_and_languages<\/code><br \/>\nexample:<br \/>\n<code class=\"long-string\">United Kingdom<\/code><\/td>\n<\/tr>\n<tr style=\"height: 192px;\">\n<td style=\"width: 12.4003%; height: 169px;\"><code>location_code<\/code><\/td>\n<td style=\"width: 3.91588%; height: 169px;\">integer<\/td>\n<td style=\"width: 82.9587%; height: 169px;\"><em>location code<\/em><br \/>\n<strong>required field if don&#8217;t specify <code>location_name<\/code><\/strong><br \/>\nyou can receive the list of available locations with their <code>location_code<\/code> by making a separate request to the<br \/>\n<code>https:\/\/api.dataforseo.com\/v3\/dataforseo_labs\/locations_and_languages<\/code><br \/>\nexample:<br \/>\n<code class=\"long-string\">2840<\/code><\/td>\n<\/tr>\n<tr style=\"height: 168px;\">\n<td style=\"width: 12.4003%; height: 168px;\"><code>language_name<\/code><\/td>\n<td style=\"width: 3.91588%; height: 168px;\">string<\/td>\n<td style=\"width: 82.9587%; height: 168px;\"><em>full name of the language<\/em><br \/>\n<strong>required field if don&#8217;t specify <code>language_code<\/code><\/strong><br \/>\nyou can receive the list of available languages with their <code>language_name<\/code> by making a separate request to the<br \/>\n<code>https:\/\/api.dataforseo.com\/v3\/dataforseo_labs\/locations_and_languages<\/code><br \/>\nexample:<br \/>\n<code class=\"long-string\">English<\/code><\/td>\n<\/tr>\n<tr style=\"height: 192px;\">\n<td style=\"width: 12.4003%; height: 163px;\"><code>language_code<\/code><\/td>\n<td style=\"width: 3.91588%; height: 163px;\">string<\/td>\n<td style=\"width: 82.9587%; height: 163px;\"><em>language code<\/em><br \/>\n<strong>required field if don&#8217;t specify <code>language_name<\/code><\/strong><br \/>\nyou can receive the list of available languages with their <code>language_code<\/code> by making a separate request to the<br \/>\n<code>https:\/\/api.dataforseo.com\/v3\/dataforseo_labs\/locations_and_languages<\/code><br \/>\nexample:<br \/>\n<code class=\"long-string\">en<\/code><\/td>\n<\/tr>\n<tr style=\"height: 96px;\">\n<td style=\"width: 12.4003%; height: 96px;\"><code>tag<\/code><\/td>\n<td style=\"width: 3.9884%; height: 96px;\">string<\/td>\n<td style=\"width: 82.8862%; height: 96px;\"><em>user-defined task identifier<\/em><br \/>\noptional field<br \/>\n<em>the character limit is 255<\/em><br \/>\nyou can use this parameter to identify the task and match it with the result<br \/>\nyou will find the specified <code>tag<\/code> value in the <code>data<\/code> object of the response<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u200c<\/p>\n<p>As 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: 77.3646%; height: 552px;\">\n<thead>\n<tr style=\"height: 24px;\">\n<th style=\"width: 38.423%; height: 24px;\">Field name<\/th>\n<th style=\"width: 1.25156%; height: 24px;\">Type<\/th>\n<th style=\"width: 61.7021%; 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 the 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 \u00a0 \u00a0 <strong><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>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>total_count<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">integer<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>total amount of results in our database relevant to your request<\/em><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <code>items_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 results returned in the <code>items<\/code> 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>items<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">array<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>contains keywords and related keyword difficulty scores<\/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 \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 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <code>keyword_difficulty<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">integer<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>difficulty of ranking in the first top-10 organic results for a keyword<\/em><br \/>\nindicates the chance of getting in top-10 organic results for a keyword on a logarithmic scale from 0 to 100;<br \/>\ncalculated by analysing, among other parameters, link profiles of the first 10 pages in SERP;<br \/>\nlearn more about the metric in <a href=\"https:\/\/dataforseo.com\/help-center\/what-is-keyword-difficulty-and-how-is-it-calculated\" rel=\"noopener noreferrer\" target=\"_blank\">this help center guide<\/a><\/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\ncurl --location --request POST &quot;https:\/\/api.dataforseo.com\/v3\/dataforseo_labs\/bulk_keyword_difficulty\/live&quot; \r\n--header &quot;Authorization: Basic ${cred}&quot;  \r\n--header &quot;Content-Type: application\/json&quot; \r\n--data-raw &#039;[\r\n    {\r\n        &quot;keywords&quot;: [\r\n            &quot;buy laptop&quot;,\r\n            &quot;cheap laptops for sale&quot;,\r\n            &quot;purchase laptop&quot;\r\n        ],\r\n        &quot;location_code&quot;: 2840,\r\n        &quot;language_code&quot;: &quot;en&quot;\r\n    }\r\n]&#039;<\/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\n\/\/ Instead of &#039;login&#039; and &#039;password&#039; use your credentials from https:\/\/app.dataforseo.com\/api-access\r\n$client = new RestClient($api_url, null, &#039;login&#039;, &#039;password&#039;);\r\n\r\n$post_array = array();\r\n\/\/ simple way to set a task\r\n$post_array[] = array(\r\n   &quot;keywords&quot; =&gt; [\r\n      &quot;buy laptop&quot;,\r\n      &quot;cheap laptops for sale&quot;,\r\n      &quot;purchase laptop&quot;\r\n   ],\r\n   &quot;language_name&quot; =&gt; &quot;English&quot;,\r\n   &quot;location_code&quot; =&gt; 2840\r\n);\r\ntry {\r\n   \/\/ POST \/v3\/dataforseo_labs\/bulk_keyword_difficulty\/live\r\n   $result = $client-&gt;post(&#039;\/v3\/dataforseo_labs\/bulk_keyword_difficulty\/live&#039;, $post_array);\r\n   print_r($result);\r\n   \/\/ do something with post result\r\n} catch (RestClientException $e) {\r\n   echo &quot;n&quot;;\r\n   print &quot;HTTP code: {$e-&gt;getHttpCode()}n&quot;;\r\n   print &quot;Error code: {$e-&gt;getCode()}n&quot;;\r\n   print &quot;Message: {$e-&gt;getMessage()}n&quot;;\r\n   print  $e-&gt;getTraceAsString();\r\n   echo &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 post_array = [];\r\n\r\npost_array.push({\r\n  &quot;keywords&quot;: [\r\n    &quot;buy laptop&quot;,\r\n    &quot;cheap laptops for sale&quot;,\r\n    &quot;purchase laptop&quot;\r\n  ],\r\n  &quot;language_name&quot;: &quot;English&quot;,\r\n  &quot;location_code&quot;: 2840\r\n});\r\n\r\nconst axios = require(&#039;axios&#039;);\r\n\r\naxios({\r\n  method: &#039;post&#039;,\r\n  url: &#039;https:\/\/api.dataforseo.com\/v3\/dataforseo_labs\/bulk_keyword_difficulty\/live&#039;,\r\n  auth: {\r\n    username: &#039;login&#039;,\r\n    password: &#039;password&#039;\r\n  },\r\n  data: post_array,\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\npost_data = dict()\r\n# simple way to set a task\r\npost_data[len(post_data)] = dict(\r\n    keywords=[\r\n        &quot;buy laptop&quot;,\r\n        &quot;cheap laptops for sale&quot;,\r\n        &quot;purchase laptop&quot;\r\n    ],\r\n    location_name=&quot;United States&quot;,\r\n    language_name=&quot;English&quot;\r\n)\r\n# POST \/v3\/dataforseo_labs\/bulk_keyword_difficulty\/live\r\nresponse = client.post(&quot;\/v3\/dataforseo_labs\/bulk_keyword_difficulty\/live&quot;, post_data)\r\n# you can find the full list of the response codes here https:\/\/docs.dataforseo.com\/v3\/appendix\/errors\r\nif response[&quot;status_code&quot;] == 20000:\r\n    print(response)\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 dataforseo_labs_bulk_keyword_difficulty_live()\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            var postData = new List&lt;object&gt;();\r\n            postData.Add(new\r\n            {\r\n                keywords = new[]\r\n                {\r\n                    &quot;buy laptop&quot;,\r\n                    &quot;cheap laptops for sale&quot;,\r\n                    &quot;purchase laptop&quot;\r\n                },\r\n                location_name = &quot;United States&quot;,\r\n                language_name = &quot;English&quot;\r\n            });\r\n            \/\/ POST \/v3\/dataforseo_labs\/bulk_keyword_difficulty\/live\r\n            \/\/ the full list of possible parameters is available in documentation\r\n            var taskPostResponse = await httpClient.PostAsync(&quot;\/v3\/dataforseo_labs\/bulk_keyword_difficulty\/live&quot;, new StringContent(JsonConvert.SerializeObject(postData)));\r\n            var result = JsonConvert.DeserializeObject(await taskPostResponse.Content.ReadAsStringAsync());\r\n            \/\/ you can find the full list of the response codes here https:\/\/docs.dataforseo.com\/v3\/appendix\/errors\r\n            if (result.status_code == 20000)\r\n            {\r\n                \/\/ do something with result\r\n                Console.WriteLine(result);\r\n            }\r\n            else\r\n                Console.WriteLine($&quot;error. Code: {result.status_code} Message: {result.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.20211130&quot;,\r\n    &quot;status_code&quot;: 20000,\r\n    &quot;status_message&quot;: &quot;Ok.&quot;,\r\n    &quot;time&quot;: &quot;0.1214 sec.&quot;,\r\n    &quot;cost&quot;: 0.0103,\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;12031501-1535-0366-0000-67d19331f3d9&quot;,\r\n            &quot;status_code&quot;: 20000,\r\n            &quot;status_message&quot;: &quot;Ok.&quot;,\r\n            &quot;time&quot;: &quot;0.0211 sec.&quot;,\r\n            &quot;cost&quot;: 0.0103,\r\n            &quot;result_count&quot;: 1,\r\n            &quot;path&quot;: [\r\n                &quot;v3&quot;,\r\n                &quot;dataforseo_labs&quot;,\r\n                &quot;bulk_keyword_difficulty&quot;,\r\n                &quot;live&quot;\r\n            ],\r\n            &quot;data&quot;: {\r\n                &quot;api&quot;: &quot;dataforseo_labs&quot;,\r\n                &quot;function&quot;: &quot;bulk_keyword_difficulty&quot;,\r\n                &quot;keywords&quot;: [\r\n                    &quot;buy laptop&quot;,\r\n                    &quot;cheap laptops for sale&quot;,\r\n                    &quot;purchase laptop&quot;\r\n                ],\r\n                &quot;location_code&quot;: 2840,\r\n                &quot;language_code&quot;: &quot;en&quot;\r\n            },\r\n            &quot;result&quot;: [\r\n                {\r\n                    &quot;location_code&quot;: 2840,\r\n                    &quot;language_code&quot;: &quot;en&quot;,\r\n                    &quot;total_count&quot;: 3,\r\n                    &quot;items_count&quot;: 3,\r\n                    &quot;items&quot;: [\r\n                        {\r\n                            &quot;keyword&quot;: &quot;buy laptop&quot;,\r\n                            &quot;keyword_difficulty&quot;: 88\r\n                        },\r\n                        {\r\n                            &quot;keyword&quot;: &quot;cheap laptops for sale&quot;,\r\n                            &quot;keyword_difficulty&quot;: 59\r\n                        },\r\n                        {\r\n                            &quot;keyword&quot;: &quot;purchase laptop&quot;,\r\n                            &quot;keyword_difficulty&quot;: 78\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] Bulk Keyword Difficulty (Legacy) \u200c\u200c\u200c Note that the structure of DataForSEO Labs API requests and responses was updated on 2022-03-19. However, we will continue supporting the legacy version documented here. You can review the documentation of the new version by this link. &nbsp; This endpoint will provide you with the Keyword Difficulty metric for [&hellip;]<\/p>\n","protected":false},"author":17,"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-11985","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/pages\/11985","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\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/comments?post=11985"}],"version-history":[{"count":12,"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/pages\/11985\/revisions"}],"predecessor-version":[{"id":19942,"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/pages\/11985\/revisions\/19942"}],"wp:attachment":[{"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/media?parent=11985"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}