In my previous blog post, I showed you how to scrape Google Maps easily with SerpApi. Some popular searches on Google Maps are Restaurants, Hotels, and more. For hotel searches, Google also has powerful Google Hotels services, allowing you to search hotel pricing, availability, review data, and more.

Google Hotels results are definitely valuable data sources. Travel agencies and hotel booking platforms scrape data to compare hotel prices across different booking sites.
The Hotels can analyze competitors's prices, availablity, and user reviews to adjust the business plan. For lead generation platforms, there are a lot of data, contact details and rakings to reach out.
This is a service from Google, it's never easy to scrape huge data from Google. Like many other scrapers, SerpApi provides many Google scrapers and we also provide Google Hotels API. Let's scrape some data.

Setting Up a SerpApi Account
SerpApi offers a free plan for newly created accounts. Head to the sign-up page to register an account and complete your first search with our interactive playground. When you want to do more searches with us, please visit the pricing page.
Once you are familiar with all the results, you can utilize SERP APIs using your API Key.

Scrape your first Google Hotels result with SerpApi
Head to the Google Hotels API from the documentation on SerpApi for details.
Let's scrape top hotels/resorts from Bali for Christmas Holidays . The data contains: "type", "name", "check_in_time", "check_out_time", "price_source", "lowest_price", "rating", "images" and more. You can also scrape more information with SerpApi.
First, you need to install the SerpApi client library.
pip install google-search-results
Set up the SerpApi credentials and search.
from serpapi import GoogleSearch
import os, json, csv
params = {
'api_key': 'Your API KEY', # your serpapi api
'engine': 'google_hotels', # SerpApi search engine
'q': 'Bali Resorts',
'check_in_date': '2025-12-24',
'check_out_date': '2025-12-30',
}
To retrieve Google Hotels Results for a query, you can use the following code:
results = GoogleSearch(params).get_dict()['properties']
You can store Google Hotels Results JSON data in databases or export them to a CSV file.
import csv
header = ["type", "name", "check_in_time", "check_out_time", "price_source", "lowest_price", "rating", "images"]
with open("google_hotels_results.csv", "w", encoding="UTF8", newline="") as f:
writer = csv.writer(f)
writer.writerow(header)
for item in results:
writer.writerow([item.get('type'), item.get('name'), item.get('check_in_time'), item.get('check_out_time'), item.get('prices', [{}])[0].get('source'), item.get('total_rate', {}).get('lowest'), item.get('overall_rating'), item.get('images')])

This example uses Python, but you can also use all your favorite programming languages like Ruby, NodeJS, Java, PHP, and more.
If you have any questions, please feel free to contact me.