Skip to main content
POST
Reference example
Queues a hotel listing lookup, returning a task id. Asynchronous: submit returns a task id in tasks[0].id, fetch returns the result once ready, and the charge lands on the submit - fetching is free, including re-fetching. Wrapped in DataForSEO’s envelope: data in tasks[0].result, outcome in tasks[0].status_code - a rejected request still returns HTTP 200. Retrieve parsed with get_dataforseo_business_google_hotel_info_fetch or raw with get_dataforseo_business_google_hotel_info_fetch_html.

Example

Cost and request rules

Published reference values are not an account-specific quote or a settled charge. For endpoints supporting X-AISA-Cost-Mode: quote, obtain a free quote for your exact request before execution; reconcile the settled cost with response metadata and Usage Logs. USD amounts use 1,000,000 integer micro-USD per dollar.
  • Default request reference estimate (USD): 0.2428
  • Cost contract: response_usd
  • Published reference multiplier: 1.0
  • Settlement evidence source: response_body

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

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

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”

priority
integer | null

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

location_name
string

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

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:
2840n

location_coordinate
string

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.243572n

language_name
string

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

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:
enn

check_in
string | null

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 | null

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 | null

currency
optional field
example:
"USD"

adults
integer | null

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

children
string[] | null

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 | null

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 | null

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 | null

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 | null

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 | null

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 | null

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&amp;tag=$tag
Note: special characters in postback_url will be urlencoded;
i.a., the # character will be encoded into %23

learn more on our Help Center

postback_data
string

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

pingback_url
string | null

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&amp;tag=$tag
Note: special characters in pingback_url will be urlencoded;
i.a., the # character will be encoded into %23

learn more on our Help Center

Example:

Response

object | null

Successful operation

version
string | null

the current version of the API

status_code
integer | null

general status code you can find the full list of the response codes here

status_message
string | null

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

time
string | null

total execution time, seconds

cost
number<double> | null

total tasks cost, USD

tasks_count
integer<int64> | null

the number of tasks in the tasks array

tasks_error
integer<int64> | null

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

tasks
(object | null)[] | null

array of tasks