{"id":9212,"date":"2021-05-13T17:07:14","date_gmt":"2021-05-13T17:07:14","guid":{"rendered":"https:\/\/docs_v3.dataforseo.com\/v3\/?page_id=9212"},"modified":"2026-07-22T17:04:20","modified_gmt":"2026-07-22T17:04:20","slug":"business_data-google-hotel_info-live-html","status":"publish","type":"page","link":"https:\/\/docs.dataforseo.com\/v3\/business_data-google-hotel_info-live-html\/","title":{"rendered":"business_data\/google\/hotel_info\/live\/html"},"content":{"rendered":"<div class=\"wpb-content-wrapper\"><p>[vc_row][vc_column][vc_column_text]<\/p>\n<h2 id=\"setting-google-hotel_info-live\">Live Google Hotel Info HTML<\/h2>\n<p>\u200c\u200c<br \/>\nGoogle 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: such as service description, location details, rating, amenities, reviews, images, prices, and more.   <\/p>\n<p>Use the unique <code>hotel_identifier<\/code> to specify the hotel. It can be obtained using the Advanced method of <a href=\"\/v3\/serp\/google\/organic\/overview\/\" rel=\"noopener noreferrer\" target=\"_blank\">Google SERP API<\/a>, or by requesting a <a href=\"\/v3\/business_data\/google\/hotel_searches\/task_post\/\" rel=\"noopener noreferrer\" target=\"_blank\">Hotel Searches endpoint<\/a> of Business Data API.<br \/>\nThe results are specific to the selected location (see <a href=\"\/v3\/business_data\/google\/locations\/\" target=\"_blank\" rel=\"noopener noreferrer\">the List of Locations<\/a>) and language\u00a0(see <a href=\"\/v3\/business_data\/google\/languages\/\" target=\"_blank\" rel=\"noopener noreferrer\">the List of Languages<\/a>) settings.<\/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\/business_data\/google\/hotel_info\/live\/html\">\n                https:\/\/api.dataforseo.com\/v3\/business_data\/google\/hotel_info\/live\/html                <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 setting a task. The 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]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, each Live API call can contain only one task. The maximum number of calls that can be sent simultaneously is limited to 30.<\/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><br \/>\n<div class=\"dfs-doc-container dfs-doc-request\"><table><thead><tr><th>Field name<\/th><th>Type<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr data-doc-id=\"hotel_identifier\"><td><code>hotel_identifier<\/code><\/td><td>string<\/td><td><p><em>unique hotel identifier<\/em><br><strong>required field<\/strong><br>unique identifier of a hotel entity in Google search;<br>you can obtain the value by making a request to Advanced <a href=\"\/v3\/serp\/google\/organic\/overview\/\" rel=\"noopener noreferrer\" target=\"_blank\">Google SERP API<\/a> (enclosed in the <code>hotels<\/code> element of the response), or the <a href=\"\/v3\/business_data\/google\/hotel_searches\/task_post\/\" rel=\"noopener noreferrer\" target=\"_blank\">Hotel Searches endpoint<\/a> of Business Data API<br>example:<br><code>ChYIq6SB--i6p6cpGgovbS8wN2s5ODZfEAE<\/code><\/p><\/td><\/tr><tr data-doc-id=\"priority\"><td><code>priority<\/code><\/td><td>integer<\/td><td><p><em>task priority<\/em><br>optional field<br>can take the following values:<br>1 \u2013 normal execution priority (set by default)<br>2 \u2013 high execution priorityYou will be additionally charged for the tasks with high execution priority.<br>The 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><\/td><\/tr><tr data-doc-id=\"location_name\"><td><code>location_name<\/code><\/td><td>string<\/td><td><p><em>full name of search engine location<\/em><br><strong>required field if you don't specify <code>location_code<\/code> or <code>location_coordinate<\/code><\/strong><br><strong>if you use this field, you don't need to specify <code>location_code<\/code> or <code>location_coordinate<\/code><\/strong><br>you can receive the list of available locations with <code>location_name<\/code> by making a separate request to <code><a href=\"https:\/\/api.dataforseo.com\/v3\/business_data\/google\/locations\">https:\/\/api.dataforseo.com\/v3\/business_data\/google\/locations<\/a><\/code><br>example:<br><code class=\"long-string\">London,England,United Kingdom<\/code><\/p><\/td><\/tr><tr data-doc-id=\"location_code\"><td><code>location_code<\/code><\/td><td>integer<\/td><td><p><em>search engine location code<\/em><br><strong>required field if you don't specify <code>location_name<\/code>_or <code>location_coordinate<\/code><\/strong><br><strong>if you use this field, you don't need to specify <code>location_name<\/code> or <code>location_coordinate<\/code><\/strong><br>you can receive the list of available locations with <code>location_code<\/code> by making a separate request to the <code><a href=\"https:\/\/api.dataforseo.com\/v3\/business_data\/google\/locations\">https:\/\/api.dataforseo.com\/v3\/business_data\/google\/locations<\/a><\/code><br>example:<br><code class=\"long-string\">2840<\/code>n<\/p><\/td><\/tr><tr data-doc-id=\"location_coordinate\"><td><code>location_coordinate<\/code><\/td><td>string<\/td><td><p><em>GPS coordinates of a location<\/em><br><strong>required field if you don't specify <code>location_name<\/code>_or <code>location_code<\/code><\/strong><br><strong>if you use this field, you don't need to specify <code>location_name<\/code> or <code>location_code<\/code><\/strong><br><code>location_coordinate<\/code> parameter should be specified in the <em>\"latitude,longitude\"<\/em> format<br>the maximum number of decimal digits for <em>\"latitude\"<\/em> and <em>\"longitude\"<\/em>: 7<br><strong>Note<\/strong>: if the coordinates are used to set a location, the search will occur in the nearest settlement;<br>example:<br><code class=\"long-string\">53.476225,-2.243572<\/code>n<\/p><\/td><\/tr><tr data-doc-id=\"language_name\"><td><code>language_name<\/code><\/td><td>string<\/td><td><p><em>full name of search engine language<\/em><br><strong>required field if you don't specify <code>language_code<\/code><\/strong><br><strong>if you use this field, you don't need to specify <code>language_code<\/code><\/strong><br>you can receive the list of available languages with <code>language_name<\/code> by making a separate request to <code><a href=\"https:\/\/api.dataforseo.com\/v3\/business_data\/google\/languages\">https:\/\/api.dataforseo.com\/v3\/business_data\/google\/languages<\/a><\/code><br>example:<br><code class=\"long-string\">English<\/code><\/p><\/td><\/tr><tr data-doc-id=\"language_code\"><td><code>language_code<\/code><\/td><td>string<\/td><td><p><em>search engine language code<\/em><br><strong>required field if you don't specify <code>language_name<\/code><\/strong><br><strong>if you use this field, you don't need to specify <code>language_name<\/code><\/strong><br>you can receive the list of available languages with their <code>language_code<\/code>_by making a separate request to <code><a href=\"https:\/\/api.dataforseo.com\/v3\/business_data\/google\/languages\">https:\/\/api.dataforseo.com\/v3\/business_data\/google\/languages<\/a><\/code><em><br><\/em>example:<em><br><\/em><code class=\"long-string\">en<\/code>n<\/p><\/td><\/tr><tr data-doc-id=\"check_in\"><td><code>check_in<\/code><\/td><td>string<\/td><td><p><em>check-in date<\/em><br>optional field<br>if you don't specify this field, tomorrow's date will be used by default;<br>date format: <code>\"yyyy-mm-dd\"<\/code><br>example:<br><code>\"2019-01-15\"<\/code><\/p><\/td><\/tr><tr data-doc-id=\"check_out\"><td><code>check_out<\/code><\/td><td>string<\/td><td><p><em>check-out date<\/em><br>optional field<br>if you don't specify this field, our system will apply the date of two days from now by default;<br>date format: <code>\"yyyy-mm-dd\"<\/code><br>example:<br><code>\"2019-01-15\"<\/code><\/p><\/td><\/tr><tr data-doc-id=\"currency\"><td><code>currency<\/code><\/td><td>string<\/td><td><p><em>currency<\/em><br>optional field<br>example:<br><code>\"USD\"<\/code><\/p><\/td><\/tr><tr data-doc-id=\"adults\"><td><code>adults<\/code><\/td><td>integer<\/td><td><p><em>number of adults<\/em><br>optional field<br>if you don't specify this field, two adults will be used by default<br>example:<br><code>1<\/code><\/p><\/td><\/tr><tr data-doc-id=\"children\"><td><code>children<\/code><\/td><td>array<\/td><td><p><em>number and age of children<\/em><br>optional field<br>if you don't specify this field, no children will be included in the search;<p>set the following value if you want to include one 14-years-old child:<br><code>[14]<\/code><br>set the following value if you want to include one 13-years-old child and one 8-years-old child:<br><code>[13,8]<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tag\"><td><code>tag<\/code><\/td><td>string<\/td><td><p><em>user-defined task identifier<\/em><br>optional field<br><em>the character limit is 255<\/em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag<\/code> value in the <code>data<\/code> array of the response<\/p><\/td><\/tr><\/tbody><\/table><\/div><br \/>\n\u200c\u200c\u200c\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><br \/>\n<div class=\"dfs-doc-container dfs-doc-response\"><div class=\"api-block-main\"><div class=\"api-section\"><table><thead><tr><th>Field name<\/th><th>Type<\/th><th>Description<\/th><\/tr><\/thead><tbody><tr data-doc-id=\"version\"><td><code>version<\/code><\/td><td>string<\/td><td><p><em>the current version of the API<\/em><\/p><\/td><\/tr><tr data-doc-id=\"status_code\"><td><code>status_code<\/code><\/td><td>integer<\/td><td><p><i>general status code<\/i><br>you can find the full list of the response codes <a href=\"\/v3\/appendix\/errors\">here<\/a><br><strong>Note:<\/strong> we strongly recommend designing a necessary system for handling related exceptional or error conditions<\/p><\/td><\/tr><tr data-doc-id=\"status_message\"><td><code>status_message<\/code><\/td><td>string<\/td><td><p><em>general informational message<\/em><br>you can find the full list of general informational messages <a href=\"\/v3\/appendix\/errors\">here<\/a><\/p><\/td><\/tr><tr data-doc-id=\"time\"><td><code>time<\/code><\/td><td>string<\/td><td><p><em>execution time, seconds<\/em><\/p><\/td><\/tr><tr data-doc-id=\"cost\"><td><code>cost<\/code><\/td><td>float<\/td><td><p><em>total <i>tasks<\/i> cost, USD<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks_count\"><td><code>tasks_count<\/code><\/td><td>integer<\/td><td><p><em>the number of tasks in the <strong><code>tasks<\/code><\/strong> array<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks_error\"><td><code>tasks_error<\/code><\/td><td>integer<\/td><td><p><em>the number of tasks in the <strong><code>tasks<\/code><\/strong> array that were returned an error<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks\"><td><strong><code>tasks<\/code><\/strong><\/td><td>array<\/td><td><p><em>array of tasks<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-id\"><td>&nbsp;&nbsp;&nbsp;&nbsp;<code>id<\/code><\/td><td>string<\/td><td><p><em>task identifier<\/em><br><strong>unique task identifier in our system in the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Universally_unique_identifier\">UUID<\/a> format<\/strong><\/p><\/td><\/tr><tr data-doc-id=\"tasks-status_code\"><td>&nbsp;&nbsp;&nbsp;&nbsp;<code>status_code<\/code><\/td><td>integer<\/td><td><p><em>status code of the task<\/em><br>generated by DataForSEO; can be within the following range: 10000-60000<br>you can find the full list of the response codes <a href=\"\/v3\/appendix\/errors\">here<\/a><\/p><\/td><\/tr><tr data-doc-id=\"tasks-status_message\"><td>&nbsp;&nbsp;&nbsp;&nbsp;<code>status_message<\/code><\/td><td>string<\/td><td><p><em>informational message of the task<\/em><br>you can find the full list of general informational messages <a href=\"\/v3\/appendix\/errors\">here<\/a><\/p><\/td><\/tr><tr data-doc-id=\"tasks-time\"><td>&nbsp;&nbsp;&nbsp;&nbsp;<code>time<\/code><\/td><td>string<\/td><td><p><em>execution time, seconds<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-cost\"><td>&nbsp;&nbsp;&nbsp;&nbsp;<code>cost<\/code><\/td><td>float<\/td><td><p><em>cost of the task, USD<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result_count\"><td>&nbsp;&nbsp;&nbsp;&nbsp;<code>result_count<\/code><\/td><td>integer<\/td><td><p><em>number of elements in the <code>result<\/code> array<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-path\"><td>&nbsp;&nbsp;&nbsp;&nbsp;<code>path<\/code><\/td><td>array<\/td><td><p><em>URL path<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-data\"><td>&nbsp;&nbsp;&nbsp;&nbsp;<code>data<\/code><\/td><td>array<\/td><td><p><em>contains the same parameters that you specified in the POST request<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result\"><td>&nbsp;&nbsp;&nbsp;&nbsp;<strong><code>result<\/code><\/strong><\/td><td>array<\/td><td><p><em>array of results<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-keyword\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>keyword<\/code><\/td><td>string<\/td><td><p><em>unique hotel identifier specified as <code>\"hotel_id:$\"<\/code><\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-type\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>type<\/code><\/td><td>string<\/td><td><p><em>type of search results<\/em><br>in this case, <code>\"hotel_info\"<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-se_domain\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>se_domain<\/code><\/td><td>string<\/td><td><\/td><\/tr><tr data-doc-id=\"tasks-result-location_code\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>location_code<\/code><\/td><td>integer<\/td><td><p><em>location code in a POST array<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-language_code\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>language_code<\/code><\/td><td>string<\/td><td><p><em>language code in a POST array<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-datetime\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>datetime<\/code><\/td><td>string<\/td><td><p><em>date and time when the result was received<\/em><br>in the UTC format: \u201cyyyy-mm-dd hh-mm-ss +00:00\u201d<br>example:<br><code class=\"long-string\">2019-11-15 12:57:46 +00:00<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-items_count\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>items_count<\/code><\/td><td>integer<\/td><td><p><em>the number of results returned in the <strong><code>items<\/code><\/strong> array<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-items\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<strong><code>items<\/code><\/strong><\/td><td>array<\/td><td><p><em>HTML pages<\/em><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-items-page\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>page<\/code><\/td><td>integer<\/td><td><p><i>serial number of the returned HTML page<\/i><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-items-date\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>date<\/code><\/td><td>string<\/td><td><p><em>date and time when the HTML page was scanned<\/em><br>in the UTC format: \u201cyyyy-mm-dd hh-mm-ss +00:00\u201d<br>example:<br><code class=\"long-string\">2019-11-15 12:57:46 +00:00<\/code><\/p><\/td><\/tr><tr data-doc-id=\"tasks-result-items-html\"><td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<code>html<\/code><\/td><td>string<\/td><td><p><i>HTML of the page<\/i><\/p><\/td><\/tr><\/tbody><\/table><\/div><\/div><\/div>\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\/business_data\/google\/hotel_info\/live\/html&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;language_code&quot;: &quot;en&quot;,\r\n        &quot;location_name&quot;: &quot;New York,New York,United States&quot;,\r\n        &quot;hotel_identifier&quot;: &quot;ChYIq6SB--i6p6cpGgovbS8wN2s5ODZfEAE&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\/\/ example #1 - a simple way to set a task\r\n\/\/ this way requires you to specify a location, a language of search, and a hotel_identifier.\r\n$post_array[] = array(\r\n\t&quot;location_code&quot; =&gt; 1023191,\r\n\t&quot;language_code&quot; =&gt; &quot;en&quot;,\r\n\t&quot;hotel_identifier&quot; =&gt; mb_convert_encoding(&quot;ChYIq6SB--i6p6cpGgovbS8wN2s5ODZfEAE&quot;, &quot;UTF-8&quot;)\r\n);\r\n\/\/ example #2 - a way to set a task with additional parameters\r\n$post_array[] = array(\r\n\t&quot;location_name&quot; =&gt; &quot;New York,New York,United States&quot;,\r\n\t&quot;language_name&quot; =&gt; &quot;English&quot;,\r\n\t&quot;hotel_identifier&quot; =&gt; mb_convert_encoding(&quot;ChYIq6SB--i6p6cpGgovbS8wN2s5ODZfEAE&quot;, &quot;UTF-8&quot;)\r\n);\r\n\/\/ this example has 2 elements, but in the case of large number of tasks - send up to 100 elements per POST request\r\nif (count($post_array) &gt; 0) {\r\n\ttry {\r\n\t\t\/\/ POST \/v3\/business_data\/google\/hotel_info\/live\/html\r\n\t\t$result = $client-&gt;post(&#039;\/v3\/business_data\/google\/hotel_info\/live\/html&#039;, $post_array);\r\n\t\tprint_r($result);\r\n\t\t\/\/ do something with post result\r\n\t} catch (RestClientException $e) {\r\n\t\techo &quot;n&quot;;\r\n\t\tprint &quot;HTTP code: {$e-&gt;getHttpCode()}n&quot;;\r\n\t\tprint &quot;Error code: {$e-&gt;getCode()}n&quot;;\r\n\t\tprint &quot;Message: {$e-&gt;getMessage()}n&quot;;\r\n\t\tprint  $e-&gt;getTraceAsString();\r\n\t\techo &quot;n&quot;;\r\n\t}\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;location_name&quot;: &quot;New York,New York,United States&quot;,\r\n  &quot;language_name&quot;: &quot;English&quot;,\r\n  &quot;hotel_identifier&quot;: encodeURI(&quot;ChYIq6SB--i6p6cpGgovbS8wN2s5ODZfEAE&quot;, &quot;UTF-8&quot;)\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\/business_data\/google\/hotel_info\/live\/html&#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    location_code=1023191,\r\n    language_code=&quot;en&quot;,\r\n    hotel_identifier=&quot;ChYIq6SB--i6p6cpGgovbS8wN2s5ODZfEAE&quot;\r\n)\r\npost_data[len(post_data)] = dict(\r\n    location_name=&quot;New York,New York,United States&quot;,\r\n    language_name=&quot;English&quot;,\r\n    hotel_identifier=&quot;ChYIq6SB--i6p6cpGgovbS8wN2s5ODZfEAE&quot;\r\n)\r\n# POST \/v3\/business_data\/google\/hotel_info\/live\/html\r\nresponse = client.post(&quot;\/v3\/business_data\/google\/hotel_info\/live\/html&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 business_data_info_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            \/\/ example #1 - a simple way to set a task\r\n            \/\/ this way requires you to specify a location, a language of search, and a hotel_identifier.\r\n            postData.Add(new\r\n            {\r\n                language_code = &quot;en&quot;,\r\n                location_code = 1023191,\r\n                hotel_identifier = &quot;ChYIq6SB--i6p6cpGgovbS8wN2s5ODZfEAE&quot;\r\n            });\r\n            \/\/ example #2 - a way to set a task with additional parameters\r\n            postData.Add(new\r\n            {\r\n                language_name = &quot;English&quot;,\r\n                location_name = &quot;New York,New York,United States&quot;,\r\n                hotel_identifier = &quot;ChYIq6SB--i6p6cpGgovbS8wN2s5ODZfEAE&quot;\r\n            });\r\n            \/\/ POST \/v3\/business_data\/google\/hotel_info\/live\/html\r\n            var taskPostResponse = await httpClient.PostAsync(&quot;\/v3\/business_data\/google\/hotel_info\/live\/html&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.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;keyword&quot;: &quot;hotel_id:ChYIq6SB--i6p6cpGgovbS8wN2s5ODZfEAE&quot;,\r\n          &quot;type&quot;: &quot;hotel_info&quot;,\r\n          &quot;se_domain&quot;: &quot;google.com&quot;,\r\n          &quot;location_code&quot;: 1023191,\r\n          &quot;language_code&quot;: &quot;en&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] Live Google Hotel Info HTML \u200c\u200c Google Hotel Info will provide you with unstructured HTML data available for a specific hotel entity on the Google Hotels platform: such as service description, location details, rating, amenities, reviews, images, prices, and more. Use the unique hotel_identifier to specify the hotel. It can be obtained using the [&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":"parameters:\n  - name: hotel_identifier\n    type: string\n    description: |\n      <em>unique hotel identifier<\/em><br><strong>required field<\/strong><br>unique identifier of a hotel entity in Google search;<br>you can obtain the value by making a request to Advanced <a href=\"\/v3\/serp\/google\/organic\/overview\/\" rel=\"noopener noreferrer\" target=\"_blank\">Google SERP API<\/a> (enclosed in the <code>hotels<\/code> element of the response), or the <a href=\"\/v3\/business_data\/google\/hotel_searches\/task_post\/\" rel=\"noopener noreferrer\" target=\"_blank\">Hotel Searches endpoint<\/a> of Business Data API<br>example:<br><code>ChYIq6SB--i6p6cpGgovbS8wN2s5ODZfEAE<\/code>\n  - name: priority\n    type: integer\n    description: |\n      <em>task priority<\/em><br>optional field<br>can take the following values:<br>1 \u2013 normal execution priority (set by default)<br>2 \u2013 high execution priorityYou will be additionally charged for the tasks with high execution priority.<br>The 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.\n  - name: location_name\n    type: string\n    description: |\n      <em>full name of search engine location<\/em><br><strong>required field if you don't specify <code>location_code<\/code> or <code>location_coordinate<\/code><\/strong><br><strong>if you use this field, you don't need to specify <code>location_code<\/code> or <code>location_coordinate<\/code><\/strong><br>you can receive the list of available locations with <code>location_name<\/code> by making a separate request to <code>https:\/\/api.dataforseo.com\/v3\/business_data\/google\/locations<\/code><br>example:<br><code class=\"long-string\">London,England,United Kingdom<\/code>\n  - name: location_code\n    type: integer\n    description: \"<em>search engine location code<\/em><br><strong>required field if you don't specify <code>location_name<\/code>_or <code>location_coordinate<\/code><\/strong><br><strong>if you use this field, you don't need to specify <code>location_name<\/code> or <code>location_coordinate<\/code><\/strong><br>you can receive the list of available locations with <code>location_code<\/code> by making a separate request to the <code>https:\/\/api.dataforseo.com\/v3\/business_data\/google\/locations<\/code><br>example:<br><code class=\"long-string\">2840<\/code>n\"\n  - name: location_coordinate\n    type: string\n    description: \"<em>GPS coordinates of a location<\/em><br><strong>required field if you don't specify <code>location_name<\/code>_or <code>location_code<\/code><\/strong><br><strong>if you use this field, you don't need to specify <code>location_name<\/code> or <code>location_code<\/code><\/strong><br><code>location_coordinate<\/code> parameter should be specified in the <em>\"latitude,longitude\"<\/em> format<br>the maximum number of decimal digits for <em>\"latitude\"<\/em> and <em>\"longitude\"<\/em>: 7<br><strong>Note<\/strong>: if the coordinates are used to set a location, the search will occur in the nearest settlement;<br>example:<br><code class=\"long-string\">53.476225,-2.243572<\/code>n\"\n  - name: language_name\n    type: string\n    description: |\n      <em>full name of search engine language<\/em><br><strong>required field if you don't specify <code>language_code<\/code><\/strong><br><strong>if you use this field, you don't need to specify <code>language_code<\/code><\/strong><br>you can receive the list of available languages with <code>language_name<\/code> by making a separate request to <code>https:\/\/api.dataforseo.com\/v3\/business_data\/google\/languages<\/code><br>example:<br><code class=\"long-string\">English<\/code>\n  - name: language_code\n    type: string\n    description: \"<em>search engine language code<\/em><br><strong>required field if you don't specify <code>language_name<\/code><\/strong><br><strong>if you use this field, you don't need to specify <code>language_name<\/code><\/strong><br>you can receive the list of available languages with their <code>language_code<\/code>_by making a separate request to <code>https:\/\/api.dataforseo.com\/v3\/business_data\/google\/languages<\/code><em><br><\/em>example:<em><br><\/em><code class=\"long-string\">en<\/code>n\"\n  - name: check_in\n    type: string\n    description: |\n      <em>check-in date<\/em><br>optional field<br>if you don't specify this field, tomorrow's date will be used by default;<br>date format: <code>\"yyyy-mm-dd\"<\/code><br>example:<br><code>\"2019-01-15\"<\/code>\n  - name: check_out\n    type: string\n    description: |\n      <em>check-out date<\/em><br>optional field<br>if you don't specify this field, our system will apply the date of two days from now by default;<br>date format: <code>\"yyyy-mm-dd\"<\/code><br>example:<br><code>\"2019-01-15\"<\/code>\n  - name: currency\n    type: string\n    description: |\n      <em>currency<\/em><br>optional field<br>example:<br><code>\"USD\"<\/code>\n  - name: adults\n    type: integer\n    description: |\n      <em>number of adults<\/em><br>optional field<br>if you don't specify this field, two adults will be used by default<br>example:<br><code>1<\/code>\n  - name: children\n    type: array\n    description: |\n      <em>number and age of children<\/em><br>optional field<br>if you don't specify this field, no children will be included in the search;<p>set the following value if you want to include one 14-years-old child:<br><code>[14]<\/code><br>set the following value if you want to include one 13-years-old child and one 8-years-old child:<br><code>[13,8]<\/code>\n  - name: tag\n    type: string\n    description: |\n      <em>user-defined task identifier<\/em><br>optional field<br><em>the character limit is 255<\/em><br>you can use this parameter to identify the task and match it with the result<br>you will find the specified <code>tag<\/code> value in the <code>data<\/code> array of the response","apibase_doc_request_additional_yaml":"","apibase_doc_response_yaml":"parameters:\n  - name: version\n    type: string\n    description: |\n      <em>the current version of the API<\/em>\n  - name: status_code\n    type: integer\n    description: |\n      <i>general status code<\/i><br>you can find the full list of the response codes <a href=\"\/v3\/appendix\/errors\">here<\/a><br><strong>Note:<\/strong> we strongly recommend designing a necessary system for handling related exceptional or error conditions\n  - name: status_message\n    type: string\n    description: |\n      <em>general informational message<\/em><br>you can find the full list of general informational messages <a href=\"\/v3\/appendix\/errors\">here<\/a>\n  - name: time\n    type: string\n    description: |\n      <em>execution time, seconds<\/em>\n  - name: cost\n    type: float\n    description: |\n      <em>total <i>tasks<\/i> cost, USD<\/em>\n  - name: tasks_count\n    type: integer\n    description: |\n      <em>the number of tasks in the <strong><code>tasks<\/code><\/strong> array<\/em>\n  - name: tasks_error\n    type: integer\n    description: |\n      <em>the number of tasks in the <strong><code>tasks<\/code><\/strong> array that were returned an error<\/em>\n  - name: tasks\n    type: array\n    description: |\n      <em>array of tasks<\/em>\n    items:\n      children:\n        - name: id\n          type: string\n          description: |\n            <em>task identifier<\/em><br><strong>unique task identifier in our system in the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Universally_unique_identifier\">UUID<\/a> format<\/strong>\n        - name: status_code\n          type: integer\n          description: |\n            <em>status code of the task<\/em><br>generated by DataForSEO; can be within the following range: 10000-60000<br>you can find the full list of the response codes <a href=\"\/v3\/appendix\/errors\">here<\/a>\n        - name: status_message\n          type: string\n          description: |\n            <em>informational message of the task<\/em><br>you can find the full list of general informational messages <a href=\"\/v3\/appendix\/errors\">here<\/a>\n        - name: time\n          type: string\n          description: |\n            <em>execution time, seconds<\/em>\n        - name: cost\n          type: float\n          description: |\n            <em>cost of the task, USD<\/em>\n        - name: result_count\n          type: integer\n          description: |\n            <em>number of elements in the <code>result<\/code> array<\/em>\n        - name: path\n          type: array\n          description: |\n            <em>URL path<\/em>\n        - name: data\n          type: array\n          description: |\n            <em>contains the same parameters that you specified in the POST request<\/em>\n        - name: result\n          type: array\n          description: |\n            <em>array of results<\/em>\n          items:\n            children:\n              - name: keyword\n                type: string\n                description: |\n                  <em>unique hotel identifier specified as <code>\"hotel_id:$\"<\/code><\/em>\n              - name: type\n                type: string\n                description: |\n                  <em>type of search results<\/em><br>in this case, <code>\"hotel_info\"<\/code>\n              - name: se_domain\n                type: string\n              - name: location_code\n                type: integer\n                description: |\n                  <em>location code in a POST array<\/em>\n              - name: language_code\n                type: string\n                description: |\n                  <em>language code in a POST array<\/em>\n              - name: datetime\n                type: string\n                description: |\n                  <em>date and time when the result was received<\/em><br>in the UTC format: \u201cyyyy-mm-dd hh-mm-ss +00:00\u201d<br>example:<br><code class=\"long-string\">2019-11-15 12:57:46 +00:00<\/code>\n              - name: items_count\n                type: integer\n                description: |\n                  <em>the number of results returned in the <strong><code>items<\/code><\/strong> array<\/em>\n              - name: items\n                type: array\n                description: |\n                  <em>HTML pages<\/em>\n                items:\n                  children:\n                    - name: page\n                      type: integer\n                      description: |\n                        <i>serial number of the returned HTML page<\/i>\n                    - name: date\n                      type: string\n                      description: |\n                        <em>date and time when the HTML page was scanned<\/em><br>in the UTC format: \u201cyyyy-mm-dd hh-mm-ss +00:00\u201d<br>example:<br><code class=\"long-string\">2019-11-15 12:57:46 +00:00<\/code>\n                    - name: html\n                      type: string\n                      description: \"<i>HTML of the page<\/i>\"","footnotes":""},"class_list":["post-9212","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/pages\/9212","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=9212"}],"version-history":[{"count":23,"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/pages\/9212\/revisions"}],"predecessor-version":[{"id":24942,"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/pages\/9212\/revisions\/24942"}],"wp:attachment":[{"href":"https:\/\/docs.dataforseo.com\/v3\/wp-json\/wp\/v2\/media?parent=9212"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}