{"id":9200,"date":"2021-05-12T16:05:49","date_gmt":"2021-05-12T16:05:49","guid":{"rendered":"https:\/\/docs_v3.dataforseo.com\/v3\/?page_id=9200"},"modified":"2025-04-23T11:15:08","modified_gmt":"2025-04-23T11:15:08","slug":"business_data-google-hotels_info-task_get-html","status":"publish","type":"page","link":"https:\/\/docs.dataforseo.com\/v3\/business_data-google-hotels_info-task_get-html\/","title":{"rendered":"business_data\/google\/hotel_info\/task_get\/html"},"content":{"rendered":"<div class=\"wpb-content-wrapper\"><p>[vc_row][vc_column][vc_column_text]<\/p>\n<h2 id=\"get-google-hotel-info-html-results-by-task_id\">Get Advanced Google Hotel Info Results by id<\/h2>\n<p>&nbsp;<\/p>\n<p>HTML Google Hotel Info will provide you with unstructured HTML data available for a specific hotel entity on the <a href=\"http:\/\/www.google.com\/travel\/hotels\" rel=\"noopener noreferrer\" target=\"_blank\">Google Hotels<\/a> platform.   <\/p>\n<p>The returned results are specific to the indicated <code>hotel_identifier<\/code>, <a href=\"\/v3\/business_data\/google\/locations\/\" target=\"_blank\" rel=\"noopener noreferrer\">location<\/a> and <a href=\"\/v3\/business_data\/google\/languages\/\" target=\"_blank\" rel=\"noopener noreferrer\">language<\/a> parameters. We emulate all the parameters with the highest accuracy so that the results you receive will match the actual search results for the specified parameters at the time of task setting. You can always check the returned results accessing the <code>check_url<\/code> in the Incognito mode to make sure the received data is accurate.<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\/business_data\/google\/hotel_info\/task_get\/html\/$id\">\n                https:\/\/api.dataforseo.com\/v3\/business_data\/google\/hotel_info\/task_get\/html\/$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. You can get the results of the task within the next 7 days for free.<br \/>\nThe cost can be calculated on the <a title=\"Pricing\" href=\"https:\/\/dataforseo.com\/pricing\/business-data\/google-hotels-api\" 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>7 days<\/strong> to request the results of the task at any time<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>\u200c\u200c<br \/>\nAs 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: 1152px;\">\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>result_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 that were returned 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: 38.423%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 <code>data<\/code><\/td>\n<td style=\"width: 1.25156%; height: 24px;\">object<\/td>\n<td style=\"width: 61.7021%; 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>hotel_identifier<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">string<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>identifier received in a POST array<\/em><br \/>\nthis field will contain the <code>hotel_identifier<\/code> parameter specified when setting a task;<br \/>\nexample:<br \/>\n<code>CgoI-KWyzenM_MV3EAE<\/code><\/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><\/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><\/td>\n<\/tr>\n<tr style=\"height: 25px;\">\n<td style=\"width: 24.3517%; height: 25px;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <code>check_url<\/code><\/td>\n<td style=\"width: 6.19209%; height: 25px;\">string<\/td>\n<td style=\"width: 79.8065%; height: 25px;\"><em>direct URL to search engine results<\/em><br \/>\nyou can use it to make sure that we provided accurate results<\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <code>datetime<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">string<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>date and time when the result was received<\/em><br \/>\nin the UTC format: \u201cyyyy-mm-dd hh-mm-ss +00:00\u201d<br \/>\nexample:<br \/>\n<code class=\"long-string\">2019-11-15 12:57:46 +00:00<\/code><\/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 <strong><code>items<\/code><\/strong> array<\/em><\/td>\n<\/tr>\n<tr style=\"height: 24px;\">\n<td style=\"width: 24.3517%; height: 24px;\">\u00a0 \u00a0 \u00a0 \u00a0 \u00a0 \u00a0 <strong><code>items<\/code><\/strong><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">array<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>HTML pages<\/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>page<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">integer<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><i>serial number of the returned HTML page<\/i><\/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>date<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">string<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><em>date and time when the HTML page was scanned<\/em><br \/>\nin the UTC format: \u201cyyyy-mm-dd hh-mm-ss +00:00\u201d<br \/>\nexample:<br \/>\n<code class=\"long-string\">2019-11-15 12:57:46 +00:00<\/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>html<\/code><\/td>\n<td style=\"width: 6.19209%; height: 24px;\">string<\/td>\n<td style=\"width: 79.8065%; height: 24px;\"><i>HTML\u00a0<\/i><i>page<\/i><\/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;09171517-0696-0242-0000-a96bc1ad0bce&quot; \r\ncurl --location --request GET &quot;https:\/\/api.dataforseo.com\/v3\/business_data\/google\/hotel_info\/task_get\/html\/${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\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\ntry {\r\n\t$result = array();\r\n\t\/\/ #1 - using this method you can get a list of completed tasks\r\n\t\/\/ GET \/v3\/business_data\/google\/hotel_info\/tasks_ready\r\n\t$tasks_ready = $client-&gt;get(&#039;\/v3\/business_data\/google\/hotel_info\/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\/business_data\/google\/hotel_info\/task_get\/html\/$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\/business_data\/google\/hotel_info\/task_get\/html\/$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\/business_data\/google\/hotel_info\/task_get\/html&#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\/business_data\/google\/hotel_info\/task_get\/html\/&#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# GET \/v3\/business_data\/google\/hotel_info\/tasks_ready\r\nresponse = client.get(&quot;\/v3\/business_data\/google\/hotel_info\/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\/business_data\/google\/hotel_info\/task_get\/html\/$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\/business_data\/google\/hotel_info\/task_get\/html\/$id              \r\n                if(resultTaskInfo[&#039;id&#039;]):\r\n                    results.append(client.get(&quot;\/v3\/business_data\/google\/hotel_info\/task_get\/html\/&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 business_data_info_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            \/\/ GET \/v3\/business_data\/google\/hotel_info\/tasks_ready\r\n            var response = await httpClient.GetAsync(&quot;\/v3\/business_data\/google\/hotel_info\/tasks_ready&quot;);\r\n            var tasksInfo = JsonConvert.DeserializeObject(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\/business_data\/google\/hotel_info\/task_get\/html\/$id\r\n                                    var taskGetResponse = await httpClient.GetAsync((string)task.endpoint);\r\n                                    var taskResultObj = JsonConvert.DeserializeObject(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\/business_data\/google\/hotel_info\/task_get\/html\/$id\r\n                                    \/*\r\n                                    var tasksGetResponse = await httpClient.GetAsync(&quot;\/v3\/business_data\/google\/hotel_info\/task_get\/html\/&quot; + (string)task.id);\r\n                                    var taskResultObj = JsonConvert.DeserializeObject(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.20210430&quot;,\r\n  &quot;status_code&quot;: 20000,\r\n  &quot;status_message&quot;: &quot;Ok.&quot;,\r\n  &quot;time&quot;: &quot;0.2257 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;05051302-1535-0282-0000-609f07ef7d76&quot;,\r\n      &quot;status_code&quot;: 20000,\r\n      &quot;status_message&quot;: &quot;Ok.&quot;,\r\n      &quot;time&quot;: &quot;0.0750 sec.&quot;,\r\n      &quot;cost&quot;: 0,\r\n      &quot;result_count&quot;: 1,\r\n      &quot;path&quot;: [\r\n        &quot;v3&quot;,\r\n        &quot;business_data&quot;,\r\n        &quot;google&quot;,\r\n        &quot;hotel_info&quot;,\r\n        &quot;live&quot;,\r\n        &quot;html&quot;\r\n      ],\r\n      &quot;data&quot;: {\r\n        &quot;se_type&quot;: &quot;hotel_info&quot;,\r\n        &quot;se&quot;: &quot;google&quot;,\r\n        &quot;api&quot;: &quot;business_data&quot;,\r\n        &quot;function&quot;: &quot;hotel_info&quot;,\r\n        &quot;language_code&quot;: &quot;en&quot;,\r\n        &quot;location_name&quot;: &quot;New York,New York,United States&quot;,\r\n        &quot;device&quot;: &quot;desktop&quot;,\r\n        &quot;os&quot;: &quot;windows&quot;\r\n      },\r\n      &quot;result&quot;: [\r\n        {\r\n          &quot;hotel_identifier&quot;: &quot;CgoI-KWyzenM_MV3EAE&quot;,\r\n          &quot;location_code&quot;: 1023191,\r\n          &quot;language_code&quot;: &quot;en&quot;,\r\n          &quot;check_url&quot;: &quot;https:\/\/www.google.com\/travel\/hotels\/entity\/CgoI-KWyzenM_MV3EAE?hl=en&amp;gl=US&amp;gws_rd=cr&amp;uule=w+CAIQIFISCTsIP9OlT8KJEWL-d-EGjwvI&amp;ts=CAESCAoCCAMKAggDGjcKGRIVOhNDZ29JLUtXeXplbk1fTVYzRUFFGgASGhIUCgcI5Q8QBRgGEgcI5Q8QBRgHGAEyAhAAKg8KCygBSgIgAToDVVNEGgA&quot;,\r\n          &quot;datetime&quot;: &quot;2021-05-05 10:03:06 +00:00&quot;,\r\n          &quot;items_count&quot;: 1,\r\n          &quot;items&quot;: [\r\n            {\r\n              &quot;page&quot;: 1,\r\n              &quot;date&quot;: &quot;2021-05-05 10:03:06 +00:00&quot;,\r\n              &quot;html&quot;: &quot;&lt;!doctype html&gt;&lt;html&gt;&lt;head&gt;&lt;\/head&gt;&lt;\/body&gt;&lt;\/html&gt;&quot;\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 Advanced Google Hotel Info Results by id &nbsp; HTML Google Hotel Info will provide you with unstructured HTML data available for a specific hotel entity on the Google Hotels platform. The returned results are specific to the indicated hotel_identifier, location and language parameters. We emulate all the parameters with the highest accuracy so [&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-9200","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/pages\/9200","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=9200"}],"version-history":[{"count":13,"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/pages\/9200\/revisions"}],"predecessor-version":[{"id":21434,"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/pages\/9200\/revisions\/21434"}],"wp:attachment":[{"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/media?parent=9200"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}