Templates / Create dated Booking.com hotel shortlists with Apify and Google Sheets

Create dated Booking.com hotel shortlists with Apify and Google Sheets

Unknown

by Luka ✓ · 2 views · created 2026-08-26 · Market Research

Unknown. This template uses community nodes we can't verify statically. Uses community nodes that can't be verified statically (unverified community packages are off by default in 3.0). Static check, last run 2026-10-19.

Community nodes

These come from third-party npm packages. In n8n 3.0 unverified community packages are off by default (N8N_UNVERIFIED_PACKAGES_ENABLED=false).

Nodes used (8)

Google Sheets

What it does

Quick overview This workflow runs a Booking.com hotel search via an Apify Actor for a specific destination and date range, verifies the Actor output and pay‑per‑event charges, then upserts a dated, filterable shortlist of properties into Google Sheets using a stable key per property, dates, and currency. How it works 1. Runs manually or on a daily schedule trigger. 2. Validates the destination, check-in/check-out dates, guest settings, language/currency/sort options, run limits, Google Sheets target, and the maximum allowed Apify charge before starting. 3. Runs the Luminar Booking Hotels Scraper Actor on Apify once with a configured maximum total charge. 4. Checks the Apify run status and fetches the Actor’s documented OUTPUT summary via HTTP to confirm coverage state and authoritative pay‑per‑event accounting. 5. Retrieves all items from the Apify dataset (properties plus a single coverage record) using bounded pagination and reconciles counts against the summary. 6. Builds a stable upsert key from the canonical Booking.com property path (with fallbacks), check-in, check-out, and currency, and prepares one row per property. 7. Upserts the prepared rows into Google Sheets and returns a receipt, or returns an explicit no-write receipt when the result is empty, partial, failed, or invalid. Setup 1. Install the Apify community node and add an Apify OAuth2 credential for running the Actor and reading its dataset. 2. Add a Google Sheets OAuth2 credential and create or choose a spreadsheet and sheet tab to receive the shortlist. 3. Update the settings for destination, check-in/check-out (replace the placeholders), currency/language/sort options, and the spreadsheet ID and sheet name. 4. Copy the expected header row into the target Google Sheets tab and refresh the Google Sheets node so the column mapping matches. 5. Set an appropriate maxCostPerRunUsd value to cap Apify charges, run the workflow manually to verify the output and receipt, then enable the schedule if needed.

View the original on n8n.io → Check your own copy

Get the weekly “what broke” email

New templates, newly broken ones, and n8n release changes. One short email a week.

Form not loading? Subscribe here.