Skip to main content
POST
https://api.aisa.one/apis/v1
/
dataforseo
/
business_data
/
google
/
hotel_info
/
task_post
Setting Google Hotel Info Tasks
curl --request POST \
  --url https://api.aisa.one/apis/v1/dataforseo/business_data/google/hotel_info/task_post \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "hotel_identifier": "<string>",
  "keyword": "<string>",
  "location_name": "<string>",
  "location_code": 123,
  "location_coordinate": "<string>",
  "language_name": "<string>",
  "language_code": "<string>",
  "postback_data": "<string>",
  "priority": 123,
  "check_in": "<string>",
  "check_out": "<string>",
  "currency": "<string>",
  "adults": 123,
  "children": [
    "<string>"
  ],
  "load_prices_by_dates": true,
  "prices_start_date": "<string>",
  "prices_end_date": "<string>",
  "prices_date_range": "<string>",
  "tag": "<string>",
  "postback_url": "<string>",
  "pingback_url": "<string>"
}
'
import requests

url = "https://api.aisa.one/apis/v1/dataforseo/business_data/google/hotel_info/task_post"

payload = {
"hotel_identifier": "<string>",
"keyword": "<string>",
"location_name": "<string>",
"location_code": 123,
"location_coordinate": "<string>",
"language_name": "<string>",
"language_code": "<string>",
"postback_data": "<string>",
"priority": 123,
"check_in": "<string>",
"check_out": "<string>",
"currency": "<string>",
"adults": 123,
"children": ["<string>"],
"load_prices_by_dates": True,
"prices_start_date": "<string>",
"prices_end_date": "<string>",
"prices_date_range": "<string>",
"tag": "<string>",
"postback_url": "<string>",
"pingback_url": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
hotel_identifier: '<string>',
keyword: '<string>',
location_name: '<string>',
location_code: 123,
location_coordinate: '<string>',
language_name: '<string>',
language_code: '<string>',
postback_data: '<string>',
priority: 123,
check_in: '<string>',
check_out: '<string>',
currency: '<string>',
adults: 123,
children: ['<string>'],
load_prices_by_dates: true,
prices_start_date: '<string>',
prices_end_date: '<string>',
prices_date_range: '<string>',
tag: '<string>',
postback_url: '<string>',
pingback_url: '<string>'
})
};

fetch('https://api.aisa.one/apis/v1/dataforseo/business_data/google/hotel_info/task_post', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api.aisa.one/apis/v1/dataforseo/business_data/google/hotel_info/task_post",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'hotel_identifier' => '<string>',
'keyword' => '<string>',
'location_name' => '<string>',
'location_code' => 123,
'location_coordinate' => '<string>',
'language_name' => '<string>',
'language_code' => '<string>',
'postback_data' => '<string>',
'priority' => 123,
'check_in' => '<string>',
'check_out' => '<string>',
'currency' => '<string>',
'adults' => 123,
'children' => [
'<string>'
],
'load_prices_by_dates' => true,
'prices_start_date' => '<string>',
'prices_end_date' => '<string>',
'prices_date_range' => '<string>',
'tag' => '<string>',
'postback_url' => '<string>',
'pingback_url' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://api.aisa.one/apis/v1/dataforseo/business_data/google/hotel_info/task_post"

payload := strings.NewReader("{\n \"hotel_identifier\": \"<string>\",\n \"keyword\": \"<string>\",\n \"location_name\": \"<string>\",\n \"location_code\": 123,\n \"location_coordinate\": \"<string>\",\n \"language_name\": \"<string>\",\n \"language_code\": \"<string>\",\n \"postback_data\": \"<string>\",\n \"priority\": 123,\n \"check_in\": \"<string>\",\n \"check_out\": \"<string>\",\n \"currency\": \"<string>\",\n \"adults\": 123,\n \"children\": [\n \"<string>\"\n ],\n \"load_prices_by_dates\": true,\n \"prices_start_date\": \"<string>\",\n \"prices_end_date\": \"<string>\",\n \"prices_date_range\": \"<string>\",\n \"tag\": \"<string>\",\n \"postback_url\": \"<string>\",\n \"pingback_url\": \"<string>\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://api.aisa.one/apis/v1/dataforseo/business_data/google/hotel_info/task_post")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"hotel_identifier\": \"<string>\",\n \"keyword\": \"<string>\",\n \"location_name\": \"<string>\",\n \"location_code\": 123,\n \"location_coordinate\": \"<string>\",\n \"language_name\": \"<string>\",\n \"language_code\": \"<string>\",\n \"postback_data\": \"<string>\",\n \"priority\": 123,\n \"check_in\": \"<string>\",\n \"check_out\": \"<string>\",\n \"currency\": \"<string>\",\n \"adults\": 123,\n \"children\": [\n \"<string>\"\n ],\n \"load_prices_by_dates\": true,\n \"prices_start_date\": \"<string>\",\n \"prices_end_date\": \"<string>\",\n \"prices_date_range\": \"<string>\",\n \"tag\": \"<string>\",\n \"postback_url\": \"<string>\",\n \"pingback_url\": \"<string>\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api.aisa.one/apis/v1/dataforseo/business_data/google/hotel_info/task_post")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"hotel_identifier\": \"<string>\",\n \"keyword\": \"<string>\",\n \"location_name\": \"<string>\",\n \"location_code\": 123,\n \"location_coordinate\": \"<string>\",\n \"language_name\": \"<string>\",\n \"language_code\": \"<string>\",\n \"postback_data\": \"<string>\",\n \"priority\": 123,\n \"check_in\": \"<string>\",\n \"check_out\": \"<string>\",\n \"currency\": \"<string>\",\n \"adults\": 123,\n \"children\": [\n \"<string>\"\n ],\n \"load_prices_by_dates\": true,\n \"prices_start_date\": \"<string>\",\n \"prices_end_date\": \"<string>\",\n \"prices_date_range\": \"<string>\",\n \"tag\": \"<string>\",\n \"postback_url\": \"<string>\",\n \"pingback_url\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "version": "<string>",
  "version.status_code": 123,
  "version.status_message": "<string>",
  "version.time": "<string>",
  "version.cost": 123,
  "version.tasks_count": 123,
  "version.tasks_error": 123,
  "tasks": [
    "<string>"
  ],
  "tasks.id": "<string>",
  "tasks.status_code": 123,
  "tasks.status_message": "<string>",
  "tasks.time": "<string>",
  "tasks.cost": 123,
  "tasks.result_count": 123,
  "tasks.path": [
    "<string>"
  ],
  "tasks.data": {},
  "result": [
    "<string>"
  ]
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
hotel_identifier
string
required

unique hotel identifier required field if you don’t specify keyword if you use this field, you don’t need to specify keyword unique identifier of a hotel entity in Google search; you can obtain the value by making a request to Advanced Google SERP API (enclosed in the hotels_pack element of the response), or the Hotel Searches endpoint of Business Data API example: ChYIq6SB--i6p6cpGgovbS8wN2s5ODZfEAE

keyword
string
required

keyword required field if you don’t specify hotel_identifier if you use this field, you don’t need to specify hotel_identifier the keyword you specify should indicate the name of the hotel entity you can specify up to 700 characters in the keyword filed all %## will be decoded (plus character ‘+’ will be decoded to a space character) if you need to use the “%” character for your keyword, please specify it as “%25”

location_name
string
required

full name of search engine location required field if you don’t specify location_code or location_coordinate if you use this field, you don’t need to specify location_code or location_coordinate you can receive the list of available locations with location_name by making a separate request to https://api.dataforseo.com/v3/business_data/google/locations example: London,England,United Kingdom

location_code
integer
required

search engine location code required field if you don’t specify location_name or location_coordinate if you use this field, you don’t need to specify location_name or location_coordinate you can receive the list of available locations with location_code by making a separate request to the https://api.dataforseo.com/v3/business_data/google/locations example: 2840

location_coordinate
string
required

GPS coordinates of a location required field if you don’t specify location_name or location_code if you use this field, you don’t need to specify location_name or location_code location_coordinate parameter should be specified in the “latitude,longitude” format the maximum number of decimal digits for “latitude” and “longitude”: 7 Note: if the coordinates are used to set a location, the search will occur in the nearest settlement; example: 53.476225,-2.243572

language_name
string
required

full name of search engine language required field if you don’t specify language_code if you use this field, you don’t need to specify language_code you can receive the list of available languages with language_name by making a separate request to https://api.dataforseo.com/v3/business_data/google/languages example: English

language_code
string
required

search engine language code required field if you don’t specify language_name if you use this field, you don’t need to specify language_name you can receive the list of available languages with their language_code by making a separate request to https://api.dataforseo.com/v3/business_data/google/languages example: en

postback_data
string
required

postback_url datatype required field if you specify postback_url corresponds to the datatype that will be sent to your server possible values: advanced, html

priority
integer

task priority optional field can take the following values: 1 – normal execution priority (set by default) 2 – high execution priority You will be additionally charged for the tasks with high execution priority. The cost can be calculated on the Pricing page.

check_in
string

check-in date optional field if you don’t specify this field, tomorrow’s date will be used by default; the value must not be earlier than today’s date date format: "yyyy-mm-dd" example: "2019-01-15"

check_out
string

check-out date optional field if you don’t specify this field, our system will apply the date of two days from now by default; Note: the value cannot be less than or equal to check_in; the range between check_in and check_out values cannot exceed 30 days date format: "yyyy-mm-dd" example: "2019-01-15"

currency
string

currency optional field example: "USD"

adults
integer

number of adults optional field if you don’t specify this field, two adults will be used by default example: 1

children
string[]

number and age of children optional field if you don’t specify this field, no children will be included in the search; set the following value if you want to include one 14-years-old child: [14] set the following value if you want to include one 13-years-old child and one 8-years-old child: [13,8]

load_prices_by_dates
boolean

load hotel stay prices by dates optional field if you specify this parameter with true, the response will include the prices_by_dates array with hotel stay prices divided by dates if you use this parameter, you will be charged double the base price for a request

prices_start_date
string

start date to load prices by dates optional field to use this parameter, you must specify load_prices_by_dates with true if this parameter is not specified, the start date is set to check_in date date format: yyyy-mm-dd example: 2025-05-20

prices_end_date
string

end date to load prices by dates optional field to use this parameter, you must specify load_prices_by_dates with true if this parameter is not specified, you will get prices by date for the month date format: yyyy-mm-dd example: 2025-05-21

prices_date_range
string

predefined period for retrieving daily price data optional field to use this parameter, you must specify load_prices_by_dates with true if the prices_start_dateis not specified, the start date is set to check_in date possible values: month, three_months, six_months, year default value: month

tag
string

user-defined task identifier optional field the character limit is 255; you can use this parameter to identify the task and match it with the result; you will find the specified tag value in the data object of the response

postback_url
string

return URL for sending task results optional field once the task is completed, we will send a POST request with its results compressed in the gzip format to the postback_url you specified; you can use the ‘$id’ string as a $id variable and ‘$tag’ as urlencoded $tag variable. We will set the necessary values before sending the request; example: http://your-server.com/postbackscript?id=$id http://your-server.com/postbackscript?id=$id&tag=$tag Note: special characters in postback_url will be urlencoded; i.a., the # character will be encoded into %23learn more on our Help Center

pingback_url
string

notification URL of a completed task optional field when a task is completed we will notify you by GET request sent to the URL you have specified; you can use the ‘$id’ string as a $id variable and ‘$tag’ as urlencoded $tag variable; we will set the necessary values before sending the request; example: http://your-server.com/pingscript?id=$id http://your-server.com/pingscript?id=$id&tag=$tag Note: special characters in pingback_url will be urlencoded; i.a., the # character will be encoded into %23learn more on our Help Center

Response

Successful response

version
string

the current version of the API

version.status_code
integer

general status code you can find the full list of the response codes here Note: we strongly recommend designing a necessary system for handling related exceptional or error conditions

version.status_message
string

general informational message you can find the full list of general informational messages here

version.time
string

execution time, seconds

version.cost
number

total tasks cost, USD

version.tasks_count
integer

*the number of tasks in the **tasks*array

version.tasks_error
integer

the number of tasks in the tasks array returned with an error

tasks
string[]

array of tasks

tasks.id
string

unique task identifier in our system in the Universally unique identifier (UUID) format

tasks.status_code
integer

status code of the task generated by DataForSEO; can be within the following range: 10000-60000

tasks.status_message
string

informational message of the task

tasks.time
string

execution time, seconds

tasks.cost
number

cost of the task, USD

tasks.result_count
integer

number of elements in the result array

tasks.path
string[]

URL path

tasks.data
object

contains the same parameters that you specified in the POST request

result
string[]

array of results in this case, the value will be null