DataForSEO
SEO, search-engine results, keyword research, backlinks and AI visibility data.
Live Google Hotel Searches Tasks
Searches Google Hotels for properties matching a query, with dates and occupancy. Wrapped in DataForSEO's envelope: data in tasks[0].result, outcome in tasks[0].status_code - a rejected request still returns HTTP 200. This is how to find the hotel whose id the info endpoints need; post_dataforseo_business_google_hotel_info_live is the detail view.
Pricing reference
- Metering: Reported response cost.
- Reference request estimate: USD 0.2428.
- Reference customer multiplier: 1.0. Do not apply it again to a settled customer amount.
Reference metadata only, not an account quote, a guaranteed price or a spending cap. Resource credits are not Felo credits. Final charges follow Felo billing records.
- Type: array (object | null)[]
- adultsType: integer | null
number of adults
optional field
if you don't specify this field, the default value of2will be applied;
note that you can specify up to 6 persons including both adults and children
example:1 - amenitiesType: array string[] | null
hotel amenities
optional field
you can use this field to specify different hotel amenities
example:[
"free_parking",
"pets_allowed"
]
possible values:"air_conditioning",<br>"all_inclusive_available",<br>"bar",<br>"free_breakfast",<br>"fitness_center",<br>"kid_friendly",<br>"free_parking",<br>"pets_allowed",<br>"pool",<br>"restaurant",<br>"room_service",<br>"spa",<br>"free_wifi",<br>"parking",<br>"indoor_pool",<br>"outdoor_pool",<br>"wheelchair_accessible",<br>"beach_access" - checkType: string | null
_in check-in date
optional field
if you don't specify this field, tomorrow's date will be used by default;
date format:"yyyy-mm-dd"
example:"2019-01-15"
Note: the value cannot precede the today's date - checkType: string | null
_out 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;
date format:"yyyy-mm-dd"
example:"2019-01-15"
Note: the value cannot be less than or equal tocheck_in;
the range betweencheck_inandcheck_outvalues cannot exceed 30 days - childrenType: array string[] | null
number and age of children
optional field
if you don't specify this field, no children will be included in the search;
age of child can be from0to17;
note that you can specify up to 6 persons including both adults and children
set the following value if you want to include one 14-year-old child:[14]
set the following value if you want to include one 13-year-old child and one 8-year-old child:[13,8] - currencyType: string | null
currency
optional field
example:"USD" - depthType: integer | null
parsing depth
optional field
number of results in Google Hotels
default value:18organic results
max value:140
Note: your account will be billed per each 18 organic results regardless of paid listings in the response;
thus, setting a depth above18may result in additional charges if Google Hotels return more than 18 results;
if the specified depth is higher than the number of results in the response, the difference will be refunded automatically to your account balance - freeType: boolean | null
_cancellation hotels with a free cancellation
optional field
set this field totrueif you want to get the list of hotels with free cancellation of reservations
default value:false - isType: boolean | null
_vacation _rentals search for vacation rentals
optional field
set this field totrueif you want to get the list of vacation rentals instead of hotels
default value:false - keywordType: string | null
keyword
optional field
the keyword you specify is used to search for the list of hotels;
if you don't use this field, we will return the list of hotels found in a specified location;
you can specify up to 700 characters in thekeywordfiled
all %## will be decoded (plus character ‘+’ will be decoded to a space character)
if you need to use the “%” character for yourkeyword, please specify it as “%25”;
Note: in order to obtain accurate search results, the location name is appended to the keyword automaticallylearn more about rules and limitations of
keywordandkeywordsfields in DataForSEO APIs in this Help Center article - languageType: string
_code search engine language code
required field if you don't specifylanguage_name
if you use this field, you don't need to specifylanguage_name
you can receive the list of available languages with theirlanguage_code_by making a separate request tohttps://api.dataforseo.com/v3/business_data/google/languages
example:enn - languageType: string
_name full name of search engine language
required field if you don't specifylanguage_code
if you use this field, you don't need to specifylanguage_code
you can receive the list of available languages withlanguage_nameby making a separate request tohttps://api.dataforseo.com/v3/business_data/google/languages
example:English - locationType: integer
_code search engine location code
required field if you don't specifylocation_name_orlocation_coordinate
if you use this field, you don't need to specifylocation_nameorlocation_coordinate
you can receive the list of available locations withlocation_codeby making a separate request to thehttps://api.dataforseo.com/v3/business_data/google/locations
example:2840n - locationType: string
_coordinate GPS coordinates of a location
required field if you don't specifylocation_name_orlocation_code
if you use this field, you don't need to specifylocation_nameorlocation_codelocation_coordinateparameter 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 - locationType: string
_name full name of search engine location
required field if you don't specifylocation_codeorlocation_coordinate
if you use this field, you don't need to specifylocation_codeorlocation_coordinate
you can receive the list of available locations withlocation_nameby making a separate request tohttps://api.dataforseo.com/v3/business_data/google/locations
example:London,England,United Kingdom
Note: in order to obtain accurate search results, thelocation_nameyou specify will be automatically appended to the keyword - maxType: integer | null
_price maximum price per night
optional field
the currency of this value depends on thecurrencyfield
example:600 - minType: integer | null
_price minimum price per night
optional field
the currency of this value depends on thecurrencyfield
example:100 - minType: number | null
_rating minimum rating
optional field
you can use this field to specify guest rating higher than a certain value
example:2.5 - searchType: boolean | null
_this _area show hotels from the displayed area
optional field
can take the values:true,false
default value:true
if set tofalsethesearch_this_areamode will be turned off
Note: if thesearch_this_areamode is turned off, thelocation_namewon't be appended to thekeywordduring search
learn more about this parameter on our Help Center - sortType: string | null
_by results sorting parameters
optional field
you can use this field to sort the results
possible types of sorting:relevance– sort by most relevantlowest_price– sort by the lowest pricehighest_rating– sort by highest ratingmost_reviewed– sort by most reviewed
default value:relevance - starsType: array string[] | null
hotel stars
optional field
set this field to[5]if you want to get the list of 5-star hotels only
example:[3,4,5] - tagType: 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 specifiedtagvalue in thedataobject of the response
- Type: object | null · Response36Afe1097B20_BusinessDataGoogleHotelSearchesLiveResponseInfo200
- Type: number | null Format: doublecost
total tasks cost, USD
- Type: integer | nullstatus
_code general status code you can find the full list of the response codes here
- Type: string | nullstatus
_message general informational message you can find the full list of general informational messages here
- Type: array (object | null)[] | nulltasks
array of tasks
- Type: object | null · Response36Afe1097B20_BusinessDataGoogleHotelSearchesLiveTaskInfo
- costType: number | null Format: double
total tasks cost, USD
- dataType: object | null
contains the same parameters that you specified in the POST request
- propertyType: object | null
Name
- idType: string | null
task identifier unique task identifier in our system in the UUID format
- pathType: array (string | null)[] | null
URL path
- resultType: array (object | null)[] | null
array of results
- checkType: string | null
_url direct URL to search engine results
you can use it to make sure that we provided accurate results - datetimeType: string | null
date and time when the result was received
in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00”
example:2019-11-15 12:57:46 +00:00 - itemsType: array (object | null)[] | null
encountered item types
types of search engine results encountered in theitemsarray;
possible item types:hotel_search_item- hotelType: string | null
_identifier unique identifier of a hotel entity in Google search
example:CgoI-KWyzenM_MV3EAE - isType: boolean | null
_paid indicates a paid hotel listing
iftrue, relatedhotel_search_itemis a paid ad
iffalse, relatedhotel_search_itemis an organic hotel listing - locationType: object | null · Response36Afe1097B20_GpsCoordinatesLocationInfo
GPS coordinates of the hotel's location
- latitudeType: number | null
latitude coordinate of the hotel in google maps
example:"latitude": 51.584091 - longitudeType: number | null
longitude coordinate of the hotel in google maps
example:"longitude": -0.31365919999999997
- overviewType: array (string | null)[] | null
_images featured images for a hotel
- pricesType: object | null · Response36Afe1097B20_HotelPriceInfo
hotel price
- checkType: string | null
_in check-in date and time
in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00”
example:2019-11-15 12:57:46 +00:00 - checkType: string | null
_out check-out date and time
in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00”
example:2019-11-15 12:57:46 +00:00 - currencyType: string | null
price currency
USDis applied by default, unless specified in the POST array - discountType: string | null
_text text about a discount applied
- itemsType: array (object | null)[] | null
encountered item types
types of search engine results encountered in theitemsarray;
possible item types:hotel_search_item- currencyType: string | null
price currency
USDis applied by default, unless specified in the POST array - domainType: string | null
third-party domain domain of the third-party website page with pricing information
- freeType: string | null
_cancellation _until date until which free cancellation is available in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00” equals null if free cancellation is not available for the selected dates
- isType: boolean | null
_paid indicates a paid hotel listing
iftrue, relatedhotel_search_itemis a paid ad
iffalse, relatedhotel_search_itemis an organic hotel listing - offersType: array (object | null)[] | null
featured price offers
- currencyType: string | null
price currency
USDis applied by default, unless specified in the POST array - freeType: string | null
_cancellation _until date until free cancellation is available in the UTC format: “yyyy-mm-dd hh-mm-ss +00:00” equals null if free cancellation is not available for the selected dates
- maxType: integer | null
_visitors the maximal number of visitors the maximum number of visitors for which the price offer is valid
- offerType: array (string | null)[] | null
_images price offer images URLs of the images featured in the price offer
- priceType: number | null
price per night
- titleType: string | null
title of the hotel
- typeType: string | null
type of element
- urlType: string | null
url of the price offer URL to the page of the website where price offer appears
- officialType: boolean | null
_site - priceType: number | null
price per night
- titleType: string | null
title of the hotel
- typeType: string | null
type of element
- urlType: string | null
third-party page url URL to the third-party website page with pricing information
- priceType: number | null
price per night
- priceType: number | null Format: int64
_without _discount full price per night without a discount applied
- pricesType: array (object | null)[] | null
_by _dates - checkType: string | null
_in _date - checkType: string | null
_out _date - currencyType: string | null
price currency
USDis applied by default, unless specified in the POST array - priceType: number | null
price per night
- visitorsType: integer | null
number of hotel visitors for this price
- reviewsType: object | null · Response36Afe1097B20_HotelReviewInfo
hotel reviews and rating information
- mentionsType: array (object | null)[] | null
hotel mentions
information about hotel reviews by criteria- negativeType: integer | null Format: int64
_count count of negative reviews by criterion
- positiveType: integer | null Format: int64
_count count of positive reviews by criterion
- positiveType: number | null
_score positive score by criterion
- titleType: string | null
title of the evaluated criterion
- totalType: integer | null Format: int64
_count count of all reviews by criterion
- visibleType: boolean | null
_by _default element is visible by default
indicates whether the review element is visible by default
- otherType: array (object | null)[] | null
_sites _reviews reviews on third-party sites
reviews from third-party sites- ratingType: object | null · Response36Afe1097B20_RatingInfo
rating in the review
information about the rating enclosed in the review on a third-party site- ratingType: integer | null
_max the maximum value for a rating_type
- ratingType: string | null
_type the type of rating here you can find the following elements: Max5, Percents, CustomMax
- valueType: number | null Format: double
the value of the rating
- votesType: integer | null Format: int64
_count the amount of feedback
- reviewType: string | null
_text review text
text of the review - titleType: string | null
review title
contains a name of the third-party site where review initially appeared - urlType: string | null
review url
URL to the a third-party site where review initially appeared
- ratingType: object | null
_distribution rating distribution by votes
the distribution of votes across the rating in the range from 1 to 5- propertyType: integer | null Format: Int64
Name
- valueType: number | null
overall hotel rating based on customer votes
- votesType: integer | null Format: int64
_count number of customer votes
the number of customer votes included in the calculation of the hotel rating
- starsType: integer | null
hotel class rating
class rating that ranges between 1-5 stars - titleType: string | null
title of the hotel
- typeType: string | null
type of element
- itemsType: integer | null Format: int64
_count item types
the number of items in theitemsarray - keywordType: string | null
keyword received in a POST array
keyword is returned with decoded %## (plus character '+' will be decoded to a space character) - languageType: string | null
_code language code in a POST array
- locationType: integer | null
_code location code in a POST array
- resultType: integer | null Format: int64
_count number of elements in the result array
- statusType: integer | null
_code status code of the task generated by DataForSEO, can be within the following range: 10000-60000 you can find the full list of the response codes here
- statusType: string | null
_message informational message of the task you can find the full list of general informational messages here
- timeType: string | null
execution time, seconds
- Type: integer | null Format: int64tasks
_count the number of tasks in the tasks array
- Type: integer | null Format: int64tasks
_error the number of tasks in the tasks array returned with an error
- Type: string | nulltime
total execution time, seconds
- Type: string | nullversion
the current version of the API
application/json - 400
The request could not be processed. Check the request parameters.
- 401
A valid Felo API key is required.
- 402
The request cannot proceed because a billing requirement is not met.
- 403
The account is not permitted to perform this operation.
- 429
A request or spending limit has been reached.
- 502
The service could not complete the request.
- 503
The API or billing service is temporarily unavailable.
- 504
The service timed out while processing the request.
- default
Error response; upstream passthrough responses may use provider formats
application/json
curl https://openapi.felo.ai/v1/beta/dataforseo/business_data/google/hotel_searches/live \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '[
{
"language_code": "en",
"location_name": "New York,New York,United States",
"keyword": "cheap hotel",
"check_in": "2023-06-01",
"check_out": "2023-06-30",
"currency": "USD",
"adults": 2,
"children": [
"14"
],
"sort_by": "highest_rating",
"priority": 2,
"tag": "example"
}
]'
{
"version": null,
"status_code": null,
"status_message": null,
"time": null,
"cost": null,
"tasks_count": null,
"tasks_error": null,
"tasks": [
{
"id": null,
"status_code": null,
"status_message": null,
"time": null,
"cost": null,
"result_count": null,
"path": [
null
],
"data": null,
"result": [
{
"keyword": null,
"location_code": null,
"language_code": null,
"check_url": null,
"datetime": null,
"items_count": null,
"items": [
{
"type": null,
"hotel_identifier": null,
"title": null,
"stars": null,
"is_paid": null,
"location": "[Max Depth Exceeded]",
"reviews": "[Max Depth Exceeded]",
"overview_images": [
"[Max Depth Exceeded]"
],
"prices": "[Max Depth Exceeded]"
}
]
}
]
}
]
}