{"product_id":"create-dated-booking-com-hotel-shortlists-in-google-sheets-apify-n8n","title":"Create Dated Booking.com Hotel Shortlists in Google Sheets (Apify + n8n)","description":"\u003ch3\u003eBuild dated Booking.com hotel shortlists in Google Sheets—automatically (Apify + n8n)\u003c\/h3\u003e\n\u003cp\u003eThis n8n workflow searches Booking.com hotel availability for a destination and date range using an Apify Actor, verifies the Actor output and pay-per-event accounting, then upserts a \u003cstrong\u003edated, filterable shortlist\u003c\/strong\u003e into \u003cstrong\u003eGoogle Sheets\u003c\/strong\u003e with a stable key per property, dates, and currency.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eRuns on demand or on a daily schedule\u003c\/strong\u003e via a trigger.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eValidates your inputs\u003c\/strong\u003e before running: destination, check-in\/check-out dates, guest settings, language\/currency\/sort options, run limits, the target Google Sheets, and the maximum allowed Apify charge.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eRuns the “Luminar Booking Hotels Scraper” Actor on Apify\u003c\/strong\u003e once with a configured maximum total charge.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eChecks run status and confirms coverage\u003c\/strong\u003e by fetching the Actor’s documented \u003cem\u003eOUTPUT\u003c\/em\u003e summary via HTTP to ensure authoritative pay‑per‑event accounting.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eFetches all dataset items\u003c\/strong\u003e (properties plus a coverage record) using bounded pagination and reconciles counts against the summary.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCreates a stable upsert key\u003c\/strong\u003e built from the canonical Booking.com property path (with fallbacks), check-in, check-out, and currency—then prepares one row per property.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eUpserts into Google Sheets\u003c\/strong\u003e and returns a receipt; if results are empty, partial, failed, or invalid, it returns an explicit “no-write” receipt.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eTravel SaaS operators maintaining \u003cstrong\u003edaily hotel comparison sheets\u003c\/strong\u003e by destination and date.\u003c\/li\u003e\n  \u003cli\u003eAutomation engineers building a \u003cstrong\u003eBooking.com shortlist pipeline\u003c\/strong\u003e for internal tools or customer-facing dashboards.\u003c\/li\u003e\n  \u003cli\u003eTeams wanting \u003cstrong\u003edated, currency-aware** hotel data\u003c\/strong\u003e without manual sheet edits.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eApify integration\u003c\/strong\u003e: Apify community node + Apify OAuth2 credential to run the Actor and access the dataset.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eHTTP Request\u003c\/strong\u003e: fetches the Actor’s documented OUTPUT summary for coverage and pay‑per‑event verification.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eGoogle Sheets\u003c\/strong\u003e: OAuth2 credential to upsert rows into a target spreadsheet.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003en8n nodes\u003c\/strong\u003e used: if, set, code, sticky note, http request, google sheets.\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":45905432412339,"sku":"N8N-18740","price":61.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/Vwiq3a-cloQ8HgfoAegaV_8lRUfPPF.png?v=1787821769","url":"https:\/\/buyflowscripts.com\/products\/create-dated-booking-com-hotel-shortlists-in-google-sheets-apify-n8n","provider":"N8N Commerce","version":"1.0","type":"link"}