If you've ever tried to get vacation rental data out of Google Travel, you know the pain. There's no public API, the page data is buried in nested arrays with no field names, and the date and filter parameters are encoded into opaque URL strings.
I got tired of fighting it, so I built an Apify Actor that does it for me: Google Vacation Rentals Scraper.
Give it a destination and a date range, and it returns clean, structured JSON for every listing. It doesn't use a browser, so runs are fast and cheap.
What you get per listing
- Pricing: nightly price and total price for your dates
- Reviews: overall rating, review count and individual reviews
- Property details: description, amenities, bedrooms, bathrooms, capacity, photos
- Location: neighborhood, nearby restaurants and airports
- Links: the Google Travel page and the original provider URL (Airbnb, Vrbo, Booking.com, etc.)
Results paginate automatically until maxResults is reached or Google runs out of listings. Duplicates are removed, and Google's "Places that don't exactly match your search" suggestions are filtered out, so the dataset stays clean.
Quick start
Install the client:
pip install apify-client
Then run it:
from apify_client import ApifyClient
client = ApifyClient("YOUR_APIFY_API_TOKEN")
run = client.actor("valie/google-vacation-rentals").call(run_input={
"place": "Carthage",
"checkin": "2026-11-29",
"checkout": "2026-12-05",
"currency": "USD",
"minRating": "4.0+",
"amenities": ["kitchen", "air-conditioned"],
"maxResults": 50,
})
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
print(item["name"], item["nightly_price"]["raw"], item["reviews"]["rating"])
Prefer no code? Open the Actor page, fill in the form, click Start, and export as JSON, CSV, Excel or HTML.
Sample output
{
"name": "Bleu Azur - Sidi Bou Saïd",
"nightly_price": { "amount": 101.0, "currency_symbol": "$", "raw": "$101" },
"total_price": { "amount": 406.0, "currency_symbol": "$", "raw": "$406 total" },
"date_range": "Nov 29 – Dec 5",
"reviews": { "rating": 4.8, "review_count": 34 },
"amenities": { "amenities_list": ["Villa", "Sleeps 5", "3 bedrooms"] },
"original_url": "https://www.example-provider.com/..."
}
Prices come back as both numbers and display strings, so you can sort and aggregate immediately.
Filters
You don't have to scrape everything and filter afterwards. The Actor supports:
| Filter | Options |
|---|---|
| Price range |
minPrice, maxPrice (nightly) |
| Rating |
any, 3.5+, 4.0+, 4.5+
|
| Property type | apartments, houses, villas, cottages, cabins, other |
| Amenities | pool, kitchen, pet-friendly, hot tub, free wi-fi, air-conditioned and more |
| Size | minimum bedrooms and bathrooms |
| Market |
region and currency, to see what Google shows travelers in different countries |
What can you build with it?
- A price tracker that runs daily and alerts you to drops
- Market analysis comparing average rates across neighborhoods or seasons
- A travel comparison feature for your app
- Investment research on which property types and amenities earn the most
- Cross-provider checks, since each result links back to its original listing
Because it runs on Apify, you can schedule runs, trigger webhooks, and connect the output to tools like Make, Zapier, Google Sheets or your own pipeline.
Pricing
It's pay-per-result, from $1.00 per 1,000 results. A new Apify account comes with free platform credits, so you can try it before paying anything.
Try it and tell me what's missing
The Actor is new, and I'd love feedback from people who actually use this kind of data. If there's a field you need, a filter that's missing, or a bug you hit, open an issue on the Actor page and I'll take a look.
👉 Try Google Vacation Rentals Scraper on Apify
Please scrape responsibly: respect the terms of service of Google and the booking providers, avoid personal data, and keep your request volume reasonable.
Top comments (0)