Google Hotels
Google Hotels: Search
Search from Google Hotels. Costs 1 credit per successful call.
GET
https://api.perceptlayer.com
/
v1
/
google-hotels
/
search
Search
curl --request GET \
--url https://api.perceptlayer.com/v1/google-hotels/search \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.perceptlayer.com/v1/google-hotels/search"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.perceptlayer.com/v1/google-hotels/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://api.perceptlayer.com/v1/google-hotels/search';
const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.perceptlayer.com/v1/google-hotels/search"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.perceptlayer.com/v1/google-hotels/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.perceptlayer.com/v1/google-hotels/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.get("https://api.perceptlayer.com/v1/google-hotels/search")
.header("X-API-Key", "<api-key>")
.asString();{
"endpoint": "google-hotels.search",
"params": {
"q": "Paris, France",
"check_in_date": "2026-12-15",
"check_out_date": "2026-12-18",
"currency": "EUR",
"gl": "fr"
},
"response": {
"search_parameters": {
"engine": "google_hotels",
"q": "Paris, France",
"gl": "fr",
"hl": "en",
"currency": "EUR",
"check_in_date": "2026-12-15",
"check_out_date": "2026-12-18",
"adults": 2,
"children": 0
},
"search_information": {
"total_results": 15000,
"cached": false
},
"brands": [
{
"id": 118,
"name": "Park Hyatt"
},
{
"id": 155,
"name": "Best Western"
},
{
"id": 151,
"name": "Curio Collection"
}
],
"properties": [
{
"type": "hotel",
"name": "Novotel Paris Porte de Versailles",
"description": "Bright, hip rooms in a polished hotel featuring 2 restaurants, 2 bars & an airy cafe.",
"link": "https://all.accor.com/lien_externe.svlt?goto=fiche_hotel&code_hotel=A7L6&merchantid=seo-maps-FR-A7L6&sourceid=aw-cen&utm_medium=seo%20maps&utm_source=google%20Maps&utm_campaign=seo%20maps",
"property_token": "ChkI5rWisq2xuMNRGg0vZy8xMWhfa18xc2w4EAE",
"_property_details_link": "https:///api/google-hotels/search?q=Paris%2C+France&check_in_date=2026-12-15&check_out_date=2026-12-18&adults=2&children=0¤cy=EUR&hl=en&gl=fr&property_token=ChkI5rWisq2xuMNRGg0vZy8xMWhfa18xc2w4EAE",
"_google_hotels_reviews_link": "https:///api/google-hotels/search?q=Paris%2C+France&check_in_date=2026-12-15&check_out_date=2026-12-18&adults=2&children=0¤cy=EUR&hl=en&gl=fr&property_token=ChkI5rWisq2xuMNRGg0vZy8xMWhfa18xc2w4EAE",
"gps_coordinates": {
"latitude": 48.8300073,
"longitude": 2.2917392999999997
},
"check_in_time": "3:00 PM",
"check_out_time": "12:00 PM",
"rate_per_night": {
"lowest": "€136",
"extracted_lowest": 136,
"before_taxes_fees": "€136",
"extracted_before_taxes_fees": 135.76042
},
"total_rate": {
"lowest": "€408",
"extracted_lowest": 408,
"before_taxes_fees": "€407",
"extracted_before_taxes_fees": 407.28126000000003
},
"nearby_places": [
{
"name": "Porte de Versailles",
"transportations": [
"…"
]
},
{
"name": "Aéroport de Paris-Charles de Gaulle",
"transportations": [
"…",
"…"
]
},
{
"name": "French Kiss Paris Restaurant Porte de Versailles",
"transportations": [
"…"
]
}
],
"images": [
{
"thumbnail": "https://lh3.googleusercontent.com/grass-cs/AABkmLd76it64PbXMOeDM3EYDzuhckiR6Z0TyqIfqJDDc87YmPivQT43V36f6ivqJHdSgnYu0tB7SwZbD_9eMwEhwLrdBQ-Nc1Z05Im5pUHcEqg5Oj8ZsLN5A628wexYUHgNmCnbZ44drg=s287-w287-h192-n-k-no-v1",
"original_image": "https://lh3.googleusercontent.com/grass-cs/AABkmLd76it64PbXMOeDM3EYDzuhckiR6Z0TyqIfqJDDc87YmPivQT43V36f6ivqJHdSgnYu0tB7SwZbD_9eMwEhwLrdBQ-Nc1Z05Im5pUHcEqg5Oj8ZsLN5A628wexYUHgNmCnbZ44drg=s10000"
},
{
"thumbnail": "https://lh3.googleusercontent.com/grass-cs/AABkmLfmAap2Mz63jNdbAtJ24yMLC7RCDjKux7xiSKv5NTci2iJUNfQ5e5W9yO3qmQfSfHllkGGNvPYoSoDiQFHNA3UWEpx1qhj7OngfJ5ozBSSX1ylbPNtn94tu5L_h9excC4bpojLZ-A=s287-w287-h192-n-k-no-v1",
"original_image": "https://lh3.googleusercontent.com/grass-cs/AABkmLfmAap2Mz63jNdbAtJ24yMLC7RCDjKux7xiSKv5NTci2iJUNfQ5e5W9yO3qmQfSfHllkGGNvPYoSoDiQFHNA3UWEpx1qhj7OngfJ5ozBSSX1ylbPNtn94tu5L_h9excC4bpojLZ-A=s10000"
},
{
"thumbnail": "https://lh3.googleusercontent.com/grass-cs/AABkmLfq-wB7yinGLeef4n1SjzMUO5zadRUazpnm0UAR8nOLcnd5Bf9Cx8UElnQiOXD3PvvS7lvuHjw-7NYfCY13SwXzIPObFFP0Ias1Ycd-yiQqGYPNExQxv0G6zokRF7i6lT9uwrOlRQ=s287-w287-h192-n-k-no-v1",
"original_image": "https://lh3.googleusercontent.com/grass-cs/AABkmLfq-wB7yinGLeef4n1SjzMUO5zadRUazpnm0UAR8nOLcnd5Bf9Cx8UElnQiOXD3PvvS7lvuHjw-7NYfCY13SwXzIPObFFP0Ias1Ycd-yiQqGYPNExQxv0G6zokRF7i6lT9uwrOlRQ=s10000"
}
],
"overall_rating": 4.6,
"reviews": 4337,
"ratings": [
{
"stars": 5,
"count": 3356
},
{
"stars": 4,
"count": 604
},
{
"stars": 3,
"count": 154
}
],
"location_rating": 3.5,
"reviews_breakdown": [
{
"name": "Family",
"description": "Family friendly",
"total_mentioned": 53,
"positive": 35,
"negative": 14,
"neutral": 4
},
{
"name": "Parking",
"description": "Parking",
"total_mentioned": 13,
"positive": 9,
"negative": 4,
"neutral": 0
},
{
"name": "Dining",
"description": "Food and Beverage",
"total_mentioned": 57,
"positive": 36,
"negative": 16,
"neutral": 5
}
],
"amenities": [
"Breakfast ($)",
"Free Wi-Fi",
"Parking ($)"
],
"eco_certified": false,
"hotel_class": "4-star hotel",
"extracted_hotel_class": 4
},
{
"type": "hotel",
"name": "Hôtel Aramis Saint-Germain Best Western",
"link": "https://www.hotel-aramis.com/",
"property_token": "ChgIyMGH_b-Xg4NzGgwvZy8xaGM0N2t0a3cQAQ",
"_property_details_link": "https:///api/google-hotels/search?q=Paris%2C+France&check_in_date=2026-12-15&check_out_date=2026-12-18&adults=2&children=0¤cy=EUR&hl=en&gl=fr&property_token=ChgIyMGH_b-Xg4NzGgwvZy8xaGM0N2t0a3cQAQ",
"_google_hotels_reviews_link": "https:///api/google-hotels/search?q=Paris%2C+France&check_in_date=2026-12-15&check_out_date=2026-12-18&adults=2&children=0¤cy=EUR&hl=en&gl=fr&property_token=ChgIyMGH_b-Xg4NzGgwvZy8xaGM0N2t0a3cQAQ",
"gps_coordinates": {
"latitude": 48.8467135,
"longitude": 2.3264518
},
"check_in_time": "2:00 PM",
"check_out_time": "12:00 PM",
"rate_per_night": {
"lowest": "€124",
"extracted_lowest": 124,
"before_taxes_fees": "€124",
"extracted_before_taxes_fees": 123.729164
},
"total_rate": {
"lowest": "€372",
"extracted_lowest": 372,
"before_taxes_fees": "€371",
"extracted_before_taxes_fees": 371.187492
},
"nearby_places": [
{
"name": "Musée d'Orsay",
"transportations": [
"…"
]
},
{
"name": "Aéroport de Paris-Charles de Gaulle",
"transportations": [
"…",
"…"
]
}
],
"images": [
{
"thumbnail": "https://lh3.googleusercontent.com/grass-proxy/AIM7gW2-eCCTHP6_Tg_wB9LMqXZRJ7ePP__UntQVCbvRal3e2hUaxNWaz8NqP_YmxVkzkSGj87OL1vbWNbd_vep1cMgIkEbYXmWST-TlJjgBnFIV5iN_EkaG1iCTV6ymu4-MSbJz2DU5oobzlsEMoYxEx1SB2swblWNigiAxAbcyqQPtD2Rh_xChAUY=s287-w…",
"original_image": "https://www.iceportal.com/data/2813-48433-f84165562_XXLejpg/France/Paris/BEST-WESTERN-Aramis-Saint-Germain/Photo/BEST-WESTERN-Aramis-Saint-Germain-Paris-Undefined-BREAKFAST-AREA.jpg"
},
{
"thumbnail": "https://lh3.googleusercontent.com/grass-cs/AABkmLduTWt9e_4w7c3IDZlsDbFIMDQVdqnKtXwr-GnQ9vbD7qeTl3AR_MkI9G_dLi7q_TCPME4IInw3qH1EBtc4HN35XemtdpILTzryU7RHWvYr9xs4OI3VgWgw9nEaGjeUi3aEvSWinQ=s287-w287-h192-n-k-no-v1",
"original_image": "https://lh3.googleusercontent.com/grass-cs/AABkmLduTWt9e_4w7c3IDZlsDbFIMDQVdqnKtXwr-GnQ9vbD7qeTl3AR_MkI9G_dLi7q_TCPME4IInw3qH1EBtc4HN35XemtdpILTzryU7RHWvYr9xs4OI3VgWgw9nEaGjeUi3aEvSWinQ=s10000"
},
{
"thumbnail": "https://lh3.googleusercontent.com/grass-cs/AABkmLfSf_jHH10KMLz--2hVNagtfhOvbI2RFSwczCNZV2DtulMROK5zNtCzoE_fhUVCISXFBvF-dVNSqDxQ-50G2nFvuwKyubcMAxWoHyaAFMIj_5m3V769O79R7qUZZ6svbs3cQ0nnonwSdNsc=s287-w287-h192-n-k-no-v1",
"original_image": "https://lh3.googleusercontent.com/grass-cs/AABkmLfSf_jHH10KMLz--2hVNagtfhOvbI2RFSwczCNZV2DtulMROK5zNtCzoE_fhUVCISXFBvF-dVNSqDxQ-50G2nFvuwKyubcMAxWoHyaAFMIj_5m3V769O79R7qUZZ6svbs3cQ0nnonwSdNsc=s10000"
}
],
"overall_rating": 4.4,
"reviews": 826,
"ratings": [
{
"stars": 5,
"count": 482
},
{
"stars": 4,
"count": 244
},
{
"stars": 3,
"count": 61
}
],
"location_rating": 4.6,
"reviews_breakdown": [
{
"name": "Location",
"description": "Location",
"total_mentioned": 162,
"positive": 155,
"negative": 3,
"neutral": 4
},
{
"name": "Service",
"description": "Service",
"total_mentioned": 153,
"positive": 140,
"negative": 10,
"neutral": 3
},
{
"name": "Property",
"description": "Property",
"total_mentioned": 143,
"positive": 106,
"negative": 20,
"neutral": 17
}
],
"amenities": [
"Breakfast ($)",
"Free Wi-Fi",
"Air conditioning"
],
"eco_certified": false,
"hotel_class": "3-star hotel",
"extracted_hotel_class": 3
},
{
"type": "hotel",
"name": "Hyatt Regency Paris Étoile",
"description": "Modern rooms & suites in a polished lodging with elegant dining & a bar with panoramic city views.",
"link": "https://photos.hotelbeds.com/giata/original/18/180655/180655a_hb_a_031.jpg?20250110134229?20250611043504",
"property_token": "ChcIpP7F8OHV3Y5FGgsvZy8xdGdzMDdichAB",
"_property_details_link": "https:///api/google-hotels/search?q=Paris%2C+France&check_in_date=2026-12-15&check_out_date=2026-12-18&adults=2&children=0¤cy=EUR&hl=en&gl=fr&property_token=ChcIpP7F8OHV3Y5FGgsvZy8xdGdzMDdichAB",
"_google_hotels_reviews_link": "https:///api/google-hotels/search?q=Paris%2C+France&check_in_date=2026-12-15&check_out_date=2026-12-18&adults=2&children=0¤cy=EUR&hl=en&gl=fr&property_token=ChcIpP7F8OHV3Y5FGgsvZy8xdGdzMDdichAB",
"gps_coordinates": {
"latitude": 48.880506399999994,
"longitude": 2.284538
},
"check_in_time": "3:00 PM",
"check_out_time": "12:00 PM",
"rate_per_night": {
"lowest": "€224",
"extracted_lowest": 224,
"before_taxes_fees": "€224",
"extracted_before_taxes_fees": 223.53247
},
"total_rate": {
"lowest": "€672",
"extracted_lowest": 672,
"before_taxes_fees": "€671",
"extracted_before_taxes_fees": 670.59741
},
"nearby_places": [
{
"name": "Fondation Louis Vuitton",
"transportations": [
"…"
]
},
{
"name": "Neuilly Porte Maillot",
"transportations": [
"…"
]
},
{
"name": "Aéroport de Paris-Charles de Gaulle",
"transportations": [
"…",
"…"
]
}
],
"images": [
{
"thumbnail": "https://lh3.googleusercontent.com/grass-cs/AABkmLemyB5o_BWjO5ocucowLo5zqKr6q2VFSi2xnefSNhlpGMMXZVGdefAtYPEKOG78iig6NQ1bNOW_DMxL5BX33DucA4G5uZzN6mA59e_9DTPJt4OvwxH9ZL7qW0BbjNwDkjfNdZIh6g0vmVYS=s287-w287-h192-n-k-no-v1",
"original_image": "https://lh3.googleusercontent.com/grass-cs/AABkmLemyB5o_BWjO5ocucowLo5zqKr6q2VFSi2xnefSNhlpGMMXZVGdefAtYPEKOG78iig6NQ1bNOW_DMxL5BX33DucA4G5uZzN6mA59e_9DTPJt4OvwxH9ZL7qW0BbjNwDkjfNdZIh6g0vmVYS=s10000"
},
{
"thumbnail": "https://lh3.googleusercontent.com/grass-cs/AABkmLfkU8SQFqNrtNu8QM7qNdGDi3BkrckOXqlWENQZKyX6tYpY7-SX1wutMG6DYhD2EKL1KsIqKFWLL2UmFR0bFmD8oad0CymgpP1HMgZBCJEmIzo0vDJjCTyd-cUhG3SVyln5Xs8YAA=s287-w287-h192-n-k-no-v1",
"original_image": "https://lh3.googleusercontent.com/grass-cs/AABkmLfkU8SQFqNrtNu8QM7qNdGDi3BkrckOXqlWENQZKyX6tYpY7-SX1wutMG6DYhD2EKL1KsIqKFWLL2UmFR0bFmD8oad0CymgpP1HMgZBCJEmIzo0vDJjCTyd-cUhG3SVyln5Xs8YAA=s10000"
},
{
"thumbnail": "https://lh3.googleusercontent.com/grass-proxy/AIM7gW0HEzny4-ByZpd--RKSzILrQ_utV1SpkzLe85xJn14nz7fDLHMSaCQZTu4iN8oetT9u2JbtV396hHkA4jZGnfv4PponKthgW7S_bzrn9d9siQdC8LbuDDI2HLhfaLM4p8tKMJ194vGTNw7cHAH8rBXnYazWhK2Slk-UfmuJaiHagArmd04ib774ig=s28…",
"original_image": "https://photos.hotelbeds.com/giata/original/18/180655/180655a_hb_a_031.jpg?20250110134229?20250611043504"
}
],
"overall_rating": 4.4,
"reviews": 6485,
"ratings": [
{
"stars": 5,
"count": 4052
},
{
"stars": 4,
"count": 1505
},
{
"stars": 3,
"count": 464
}
],
"location_rating": 4.3,
"reviews_breakdown": [
{
"name": "Nature",
"description": "Nature and outdoor activities",
"total_mentioned": 65,
"positive": 62,
"negative": 0,
"neutral": 3
},
{
"name": "Business",
"description": "Business",
"total_mentioned": 86,
"positive": 47,
"negative": 20,
"neutral": 19
},
{
"name": "Bar",
"description": "Bar or lounge",
"total_mentioned": 188,
"positive": 136,
"negative": 37,
"neutral": 15
}
],
"amenities": [
"Breakfast ($)",
"Free Wi-Fi",
"Parking ($)"
],
"eco_certified": false,
"hotel_class": "4-star hotel",
"extracted_hotel_class": 4
}
],
"pagination": {
"current_from": 1,
"current_to": 20,
"next_page_token": "gho_jRZtj7WKgqLkF8eP.Q0JJPQ",
"next": "https:///api/google-hotels/search?q=Paris%2C+France&gl=fr&hl=en¤cy=EUR&check_in_date=2026-12-15&check_out_date=2026-12-18&adults=2&children=0&next_page_token=gho_jRZtj7WKgqLkF8eP.Q0JJPQ"
},
"response_time_ms": 2501
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}1 credit per successful call; failed calls are free. See the Google Hotels API overview for every Google Hotels endpoint.
Authorizations
Query Parameters
Available options:
google_hotels Maximum string length:
200Maximum string length:
3Maximum string length:
2Maximum string length:
2Available options:
3, 8, 13 Available options:
2, 3, 4, 5 Available options:
7, 8, 9 Was this page helpful?
⌘I
Search
curl --request GET \
--url https://api.perceptlayer.com/v1/google-hotels/search \
--header 'X-API-Key: <api-key>'import requests
url = "https://api.perceptlayer.com/v1/google-hotels/search"
headers = {"X-API-Key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch('https://api.perceptlayer.com/v1/google-hotels/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));const url = 'https://api.perceptlayer.com/v1/google-hotels/search';
const options = {method: 'GET', headers: {'X-API-Key': '<api-key>'}};
fetch(url, options)
.then(res => res.json())
.then(json => console.log(json))
.catch(err => console.error(err));package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.perceptlayer.com/v1/google-hotels/search"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-API-Key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.perceptlayer.com/v1/google-hotels/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-API-Key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}require 'uri'
require 'net/http'
url = URI("https://api.perceptlayer.com/v1/google-hotels/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-API-Key"] = '<api-key>'
response = http.request(request)
puts response.read_bodyHttpResponse<String> response = Unirest.get("https://api.perceptlayer.com/v1/google-hotels/search")
.header("X-API-Key", "<api-key>")
.asString();{
"endpoint": "google-hotels.search",
"params": {
"q": "Paris, France",
"check_in_date": "2026-12-15",
"check_out_date": "2026-12-18",
"currency": "EUR",
"gl": "fr"
},
"response": {
"search_parameters": {
"engine": "google_hotels",
"q": "Paris, France",
"gl": "fr",
"hl": "en",
"currency": "EUR",
"check_in_date": "2026-12-15",
"check_out_date": "2026-12-18",
"adults": 2,
"children": 0
},
"search_information": {
"total_results": 15000,
"cached": false
},
"brands": [
{
"id": 118,
"name": "Park Hyatt"
},
{
"id": 155,
"name": "Best Western"
},
{
"id": 151,
"name": "Curio Collection"
}
],
"properties": [
{
"type": "hotel",
"name": "Novotel Paris Porte de Versailles",
"description": "Bright, hip rooms in a polished hotel featuring 2 restaurants, 2 bars & an airy cafe.",
"link": "https://all.accor.com/lien_externe.svlt?goto=fiche_hotel&code_hotel=A7L6&merchantid=seo-maps-FR-A7L6&sourceid=aw-cen&utm_medium=seo%20maps&utm_source=google%20Maps&utm_campaign=seo%20maps",
"property_token": "ChkI5rWisq2xuMNRGg0vZy8xMWhfa18xc2w4EAE",
"_property_details_link": "https:///api/google-hotels/search?q=Paris%2C+France&check_in_date=2026-12-15&check_out_date=2026-12-18&adults=2&children=0¤cy=EUR&hl=en&gl=fr&property_token=ChkI5rWisq2xuMNRGg0vZy8xMWhfa18xc2w4EAE",
"_google_hotels_reviews_link": "https:///api/google-hotels/search?q=Paris%2C+France&check_in_date=2026-12-15&check_out_date=2026-12-18&adults=2&children=0¤cy=EUR&hl=en&gl=fr&property_token=ChkI5rWisq2xuMNRGg0vZy8xMWhfa18xc2w4EAE",
"gps_coordinates": {
"latitude": 48.8300073,
"longitude": 2.2917392999999997
},
"check_in_time": "3:00 PM",
"check_out_time": "12:00 PM",
"rate_per_night": {
"lowest": "€136",
"extracted_lowest": 136,
"before_taxes_fees": "€136",
"extracted_before_taxes_fees": 135.76042
},
"total_rate": {
"lowest": "€408",
"extracted_lowest": 408,
"before_taxes_fees": "€407",
"extracted_before_taxes_fees": 407.28126000000003
},
"nearby_places": [
{
"name": "Porte de Versailles",
"transportations": [
"…"
]
},
{
"name": "Aéroport de Paris-Charles de Gaulle",
"transportations": [
"…",
"…"
]
},
{
"name": "French Kiss Paris Restaurant Porte de Versailles",
"transportations": [
"…"
]
}
],
"images": [
{
"thumbnail": "https://lh3.googleusercontent.com/grass-cs/AABkmLd76it64PbXMOeDM3EYDzuhckiR6Z0TyqIfqJDDc87YmPivQT43V36f6ivqJHdSgnYu0tB7SwZbD_9eMwEhwLrdBQ-Nc1Z05Im5pUHcEqg5Oj8ZsLN5A628wexYUHgNmCnbZ44drg=s287-w287-h192-n-k-no-v1",
"original_image": "https://lh3.googleusercontent.com/grass-cs/AABkmLd76it64PbXMOeDM3EYDzuhckiR6Z0TyqIfqJDDc87YmPivQT43V36f6ivqJHdSgnYu0tB7SwZbD_9eMwEhwLrdBQ-Nc1Z05Im5pUHcEqg5Oj8ZsLN5A628wexYUHgNmCnbZ44drg=s10000"
},
{
"thumbnail": "https://lh3.googleusercontent.com/grass-cs/AABkmLfmAap2Mz63jNdbAtJ24yMLC7RCDjKux7xiSKv5NTci2iJUNfQ5e5W9yO3qmQfSfHllkGGNvPYoSoDiQFHNA3UWEpx1qhj7OngfJ5ozBSSX1ylbPNtn94tu5L_h9excC4bpojLZ-A=s287-w287-h192-n-k-no-v1",
"original_image": "https://lh3.googleusercontent.com/grass-cs/AABkmLfmAap2Mz63jNdbAtJ24yMLC7RCDjKux7xiSKv5NTci2iJUNfQ5e5W9yO3qmQfSfHllkGGNvPYoSoDiQFHNA3UWEpx1qhj7OngfJ5ozBSSX1ylbPNtn94tu5L_h9excC4bpojLZ-A=s10000"
},
{
"thumbnail": "https://lh3.googleusercontent.com/grass-cs/AABkmLfq-wB7yinGLeef4n1SjzMUO5zadRUazpnm0UAR8nOLcnd5Bf9Cx8UElnQiOXD3PvvS7lvuHjw-7NYfCY13SwXzIPObFFP0Ias1Ycd-yiQqGYPNExQxv0G6zokRF7i6lT9uwrOlRQ=s287-w287-h192-n-k-no-v1",
"original_image": "https://lh3.googleusercontent.com/grass-cs/AABkmLfq-wB7yinGLeef4n1SjzMUO5zadRUazpnm0UAR8nOLcnd5Bf9Cx8UElnQiOXD3PvvS7lvuHjw-7NYfCY13SwXzIPObFFP0Ias1Ycd-yiQqGYPNExQxv0G6zokRF7i6lT9uwrOlRQ=s10000"
}
],
"overall_rating": 4.6,
"reviews": 4337,
"ratings": [
{
"stars": 5,
"count": 3356
},
{
"stars": 4,
"count": 604
},
{
"stars": 3,
"count": 154
}
],
"location_rating": 3.5,
"reviews_breakdown": [
{
"name": "Family",
"description": "Family friendly",
"total_mentioned": 53,
"positive": 35,
"negative": 14,
"neutral": 4
},
{
"name": "Parking",
"description": "Parking",
"total_mentioned": 13,
"positive": 9,
"negative": 4,
"neutral": 0
},
{
"name": "Dining",
"description": "Food and Beverage",
"total_mentioned": 57,
"positive": 36,
"negative": 16,
"neutral": 5
}
],
"amenities": [
"Breakfast ($)",
"Free Wi-Fi",
"Parking ($)"
],
"eco_certified": false,
"hotel_class": "4-star hotel",
"extracted_hotel_class": 4
},
{
"type": "hotel",
"name": "Hôtel Aramis Saint-Germain Best Western",
"link": "https://www.hotel-aramis.com/",
"property_token": "ChgIyMGH_b-Xg4NzGgwvZy8xaGM0N2t0a3cQAQ",
"_property_details_link": "https:///api/google-hotels/search?q=Paris%2C+France&check_in_date=2026-12-15&check_out_date=2026-12-18&adults=2&children=0¤cy=EUR&hl=en&gl=fr&property_token=ChgIyMGH_b-Xg4NzGgwvZy8xaGM0N2t0a3cQAQ",
"_google_hotels_reviews_link": "https:///api/google-hotels/search?q=Paris%2C+France&check_in_date=2026-12-15&check_out_date=2026-12-18&adults=2&children=0¤cy=EUR&hl=en&gl=fr&property_token=ChgIyMGH_b-Xg4NzGgwvZy8xaGM0N2t0a3cQAQ",
"gps_coordinates": {
"latitude": 48.8467135,
"longitude": 2.3264518
},
"check_in_time": "2:00 PM",
"check_out_time": "12:00 PM",
"rate_per_night": {
"lowest": "€124",
"extracted_lowest": 124,
"before_taxes_fees": "€124",
"extracted_before_taxes_fees": 123.729164
},
"total_rate": {
"lowest": "€372",
"extracted_lowest": 372,
"before_taxes_fees": "€371",
"extracted_before_taxes_fees": 371.187492
},
"nearby_places": [
{
"name": "Musée d'Orsay",
"transportations": [
"…"
]
},
{
"name": "Aéroport de Paris-Charles de Gaulle",
"transportations": [
"…",
"…"
]
}
],
"images": [
{
"thumbnail": "https://lh3.googleusercontent.com/grass-proxy/AIM7gW2-eCCTHP6_Tg_wB9LMqXZRJ7ePP__UntQVCbvRal3e2hUaxNWaz8NqP_YmxVkzkSGj87OL1vbWNbd_vep1cMgIkEbYXmWST-TlJjgBnFIV5iN_EkaG1iCTV6ymu4-MSbJz2DU5oobzlsEMoYxEx1SB2swblWNigiAxAbcyqQPtD2Rh_xChAUY=s287-w…",
"original_image": "https://www.iceportal.com/data/2813-48433-f84165562_XXLejpg/France/Paris/BEST-WESTERN-Aramis-Saint-Germain/Photo/BEST-WESTERN-Aramis-Saint-Germain-Paris-Undefined-BREAKFAST-AREA.jpg"
},
{
"thumbnail": "https://lh3.googleusercontent.com/grass-cs/AABkmLduTWt9e_4w7c3IDZlsDbFIMDQVdqnKtXwr-GnQ9vbD7qeTl3AR_MkI9G_dLi7q_TCPME4IInw3qH1EBtc4HN35XemtdpILTzryU7RHWvYr9xs4OI3VgWgw9nEaGjeUi3aEvSWinQ=s287-w287-h192-n-k-no-v1",
"original_image": "https://lh3.googleusercontent.com/grass-cs/AABkmLduTWt9e_4w7c3IDZlsDbFIMDQVdqnKtXwr-GnQ9vbD7qeTl3AR_MkI9G_dLi7q_TCPME4IInw3qH1EBtc4HN35XemtdpILTzryU7RHWvYr9xs4OI3VgWgw9nEaGjeUi3aEvSWinQ=s10000"
},
{
"thumbnail": "https://lh3.googleusercontent.com/grass-cs/AABkmLfSf_jHH10KMLz--2hVNagtfhOvbI2RFSwczCNZV2DtulMROK5zNtCzoE_fhUVCISXFBvF-dVNSqDxQ-50G2nFvuwKyubcMAxWoHyaAFMIj_5m3V769O79R7qUZZ6svbs3cQ0nnonwSdNsc=s287-w287-h192-n-k-no-v1",
"original_image": "https://lh3.googleusercontent.com/grass-cs/AABkmLfSf_jHH10KMLz--2hVNagtfhOvbI2RFSwczCNZV2DtulMROK5zNtCzoE_fhUVCISXFBvF-dVNSqDxQ-50G2nFvuwKyubcMAxWoHyaAFMIj_5m3V769O79R7qUZZ6svbs3cQ0nnonwSdNsc=s10000"
}
],
"overall_rating": 4.4,
"reviews": 826,
"ratings": [
{
"stars": 5,
"count": 482
},
{
"stars": 4,
"count": 244
},
{
"stars": 3,
"count": 61
}
],
"location_rating": 4.6,
"reviews_breakdown": [
{
"name": "Location",
"description": "Location",
"total_mentioned": 162,
"positive": 155,
"negative": 3,
"neutral": 4
},
{
"name": "Service",
"description": "Service",
"total_mentioned": 153,
"positive": 140,
"negative": 10,
"neutral": 3
},
{
"name": "Property",
"description": "Property",
"total_mentioned": 143,
"positive": 106,
"negative": 20,
"neutral": 17
}
],
"amenities": [
"Breakfast ($)",
"Free Wi-Fi",
"Air conditioning"
],
"eco_certified": false,
"hotel_class": "3-star hotel",
"extracted_hotel_class": 3
},
{
"type": "hotel",
"name": "Hyatt Regency Paris Étoile",
"description": "Modern rooms & suites in a polished lodging with elegant dining & a bar with panoramic city views.",
"link": "https://photos.hotelbeds.com/giata/original/18/180655/180655a_hb_a_031.jpg?20250110134229?20250611043504",
"property_token": "ChcIpP7F8OHV3Y5FGgsvZy8xdGdzMDdichAB",
"_property_details_link": "https:///api/google-hotels/search?q=Paris%2C+France&check_in_date=2026-12-15&check_out_date=2026-12-18&adults=2&children=0¤cy=EUR&hl=en&gl=fr&property_token=ChcIpP7F8OHV3Y5FGgsvZy8xdGdzMDdichAB",
"_google_hotels_reviews_link": "https:///api/google-hotels/search?q=Paris%2C+France&check_in_date=2026-12-15&check_out_date=2026-12-18&adults=2&children=0¤cy=EUR&hl=en&gl=fr&property_token=ChcIpP7F8OHV3Y5FGgsvZy8xdGdzMDdichAB",
"gps_coordinates": {
"latitude": 48.880506399999994,
"longitude": 2.284538
},
"check_in_time": "3:00 PM",
"check_out_time": "12:00 PM",
"rate_per_night": {
"lowest": "€224",
"extracted_lowest": 224,
"before_taxes_fees": "€224",
"extracted_before_taxes_fees": 223.53247
},
"total_rate": {
"lowest": "€672",
"extracted_lowest": 672,
"before_taxes_fees": "€671",
"extracted_before_taxes_fees": 670.59741
},
"nearby_places": [
{
"name": "Fondation Louis Vuitton",
"transportations": [
"…"
]
},
{
"name": "Neuilly Porte Maillot",
"transportations": [
"…"
]
},
{
"name": "Aéroport de Paris-Charles de Gaulle",
"transportations": [
"…",
"…"
]
}
],
"images": [
{
"thumbnail": "https://lh3.googleusercontent.com/grass-cs/AABkmLemyB5o_BWjO5ocucowLo5zqKr6q2VFSi2xnefSNhlpGMMXZVGdefAtYPEKOG78iig6NQ1bNOW_DMxL5BX33DucA4G5uZzN6mA59e_9DTPJt4OvwxH9ZL7qW0BbjNwDkjfNdZIh6g0vmVYS=s287-w287-h192-n-k-no-v1",
"original_image": "https://lh3.googleusercontent.com/grass-cs/AABkmLemyB5o_BWjO5ocucowLo5zqKr6q2VFSi2xnefSNhlpGMMXZVGdefAtYPEKOG78iig6NQ1bNOW_DMxL5BX33DucA4G5uZzN6mA59e_9DTPJt4OvwxH9ZL7qW0BbjNwDkjfNdZIh6g0vmVYS=s10000"
},
{
"thumbnail": "https://lh3.googleusercontent.com/grass-cs/AABkmLfkU8SQFqNrtNu8QM7qNdGDi3BkrckOXqlWENQZKyX6tYpY7-SX1wutMG6DYhD2EKL1KsIqKFWLL2UmFR0bFmD8oad0CymgpP1HMgZBCJEmIzo0vDJjCTyd-cUhG3SVyln5Xs8YAA=s287-w287-h192-n-k-no-v1",
"original_image": "https://lh3.googleusercontent.com/grass-cs/AABkmLfkU8SQFqNrtNu8QM7qNdGDi3BkrckOXqlWENQZKyX6tYpY7-SX1wutMG6DYhD2EKL1KsIqKFWLL2UmFR0bFmD8oad0CymgpP1HMgZBCJEmIzo0vDJjCTyd-cUhG3SVyln5Xs8YAA=s10000"
},
{
"thumbnail": "https://lh3.googleusercontent.com/grass-proxy/AIM7gW0HEzny4-ByZpd--RKSzILrQ_utV1SpkzLe85xJn14nz7fDLHMSaCQZTu4iN8oetT9u2JbtV396hHkA4jZGnfv4PponKthgW7S_bzrn9d9siQdC8LbuDDI2HLhfaLM4p8tKMJ194vGTNw7cHAH8rBXnYazWhK2Slk-UfmuJaiHagArmd04ib774ig=s28…",
"original_image": "https://photos.hotelbeds.com/giata/original/18/180655/180655a_hb_a_031.jpg?20250110134229?20250611043504"
}
],
"overall_rating": 4.4,
"reviews": 6485,
"ratings": [
{
"stars": 5,
"count": 4052
},
{
"stars": 4,
"count": 1505
},
{
"stars": 3,
"count": 464
}
],
"location_rating": 4.3,
"reviews_breakdown": [
{
"name": "Nature",
"description": "Nature and outdoor activities",
"total_mentioned": 65,
"positive": 62,
"negative": 0,
"neutral": 3
},
{
"name": "Business",
"description": "Business",
"total_mentioned": 86,
"positive": 47,
"negative": 20,
"neutral": 19
},
{
"name": "Bar",
"description": "Bar or lounge",
"total_mentioned": 188,
"positive": 136,
"negative": 37,
"neutral": 15
}
],
"amenities": [
"Breakfast ($)",
"Free Wi-Fi",
"Parking ($)"
],
"eco_certified": false,
"hotel_class": "4-star hotel",
"extracted_hotel_class": 4
}
],
"pagination": {
"current_from": 1,
"current_to": 20,
"next_page_token": "gho_jRZtj7WKgqLkF8eP.Q0JJPQ",
"next": "https:///api/google-hotels/search?q=Paris%2C+France&gl=fr&hl=en¤cy=EUR&check_in_date=2026-12-15&check_out_date=2026-12-18&adults=2&children=0&next_page_token=gho_jRZtj7WKgqLkF8eP.Q0JJPQ"
},
"response_time_ms": 2501
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}{
"error": {
"code": "<string>",
"message": "<string>",
"request_id": "<string>"
}
}