A quick demo might save your team weeks of engineering work.
Resources
Free Tools
One endpoint call, the Google Sheets setup steps, and a field-to-column map. Then keep it refreshing on a schedule.
Trusted by hospitality teams at
Find hotels by name, then read hotel details or guest reviews by UUID. Search pages contain up to 10 matches from the available result set; available_count is not a global total. Details include published descriptions and amenity groups, with star classification separate from six-point guest ratings. No dates, prices, photo gallery, or destination search are provided. Review language and page size cannot be requested. Response examples are illustrative. Here the reviews endpoint pours that text into Google Sheets as sortable rows.
Google Sheets is still the fastest way to get data in front of people who do not write code. One Apps Script function turns a sheet into a live feed your whole team can read, filter, and chart. On this page it holds HolidayCheck reviews, refreshed from one endpoint call.
The Hotel Reviews endpoint returns clean JSON for one hotel. Send your key in the X-API-Key header. See the
endpoint docs for every parameter.
Create a StayAPI account and copy your API key from the dashboard.
Open your sheet, then Extensions > Apps Script.
Paste the fetch script below and set your API key.
Run it once to authorize, then add a time-driven trigger to refresh on a schedule.
This uses the real endpoint URL with the example Alexa Hotel id. Swap in your hotel id and your API key.
function refreshData() { var url = "https://api.stayapi.com/v1/holidaycheck/hotel/reviews?hotel_id=c6b63919-17b1-317d-a9e7-e69dbe195f2e"; var response = UrlFetchApp.fetch(url, { method: "get", headers: { "X-API-Key": "YOUR_API_KEY" }, muteHttpExceptions: true }); var body = JSON.parse(response.getContentText()); var records = (body.data && body.data.reviews) || body.reviews || body.rooms || []; var sheet = SpreadsheetApp.getActiveSheet(); sheet.clear(); sheet.appendRow(["retrieved_at", "hotel_name", "url", "rating", "rating_scale"]); var now = new Date(); records.forEach(function (r) { sheet.appendRow([now, r.hotel_name, r.url, r.rating, r.rating_scale]); }); }
50 free requests on signup, no card.
Each field from the Hotel Reviews response, and a suggested column name.
The fields from the mapping above land as columns: hotel_id, hotel_name, url, rating. Refreshed on the schedule you set.
Every row is one hotel record from the Hotel Reviews response. These fields become columns:
Sign up, copy your key into the snippet above, and pull live HolidayCheck reviews into Google Sheets.
50 free requests on signup. Fastest way to see if the schema fits.
Start free15 minutes. Volume, endpoint mix, and where the data lands. Walk out with a quote.
Book a demo