Kayak Reviews Scraper avatar
Kayak Reviews Scraper

Pricing

from $4.00 / 1,000 reviews

Go to Apify Store
Kayak Reviews Scraper

Kayak Reviews Scraper

Developed by

knagymate

knagymate

Maintained by Community

Extract hotel reviews and ratings from Kayak.com, including data from Booking, Priceline, Agoda, and HotelsCombined. Ideal for research, sentiment analysis, and travel analytics. Supports JSON/CSV export, pagination, and review filtering.

5.0 (2)

Pricing

from $4.00 / 1,000 reviews

0

4

4

Last modified

5 days ago

Fast Kayak Reviews Scraper

Fast Kayak Reviews Scraper — quickly extract hotel reviews and ratings aggregated by Kayak.com (including reviews Kayak imports from Booking, Priceline, Agoda and HotelsCombined). Ideal for market research, reputation monitoring, data science, and travel analytics.


Overview

Fast Kayak Reviews Scraper scrapes hotel reviews shown on Kayak.com and returns structured review records ready for analysis or export (JSON/CSV/Excel). Kayak often aggregates reviews from several partner sites — such as Booking.com, Priceline, Agoda, and HotelsCombined — and this actor captures the combined review stream presented on the hotel’s Kayak page.

This actor is a lightweight, high-performance scraper built to run on Apify or locally and is perfect if you need:

  • Large-scale hotel review collection for a region or brand
  • Reputation and sentiment analysis across different review sources
  • Benchmarking competitors and tracking improvements over time
  • Export-ready data for dashboards, machine learning, and BI tools

Features

  • Scrape reviews from any Kayak hotel page (desktop URL)
  • Extract rating, rating category (e.g. Excellent, Very good), month/year, review id, provider (Booking, Priceline, Agoda, Hotelscombined, etc.), positives and negatives, and full metadata
  • Return results sorted by the newest reviews when cutoffDate is provided (see Cutoff / sort behaviour below)
  • Limit the maximum number of reviews scraped (maxReviews)
  • Exportable output (JSON by default; easy to convert to CSV/Excel)
  • Robust handling of pagination and dynamic content

Quick example (input)

{
"hotelUrl": "https://www.kayak.com/Miami-Hotels-Miami-International-Airport-Hotel.61867.ksp",
"sortBy": "recent",
"maxReviews": 1000
}

Quick example (single output record)

{
"id": "lDOSJZkB2qcuNaAeEJS-",
"monthYear": "Sep 2025",
"score": 80.0,
"ratingCategory": "Excellent",
"positiveComment": "Location",
"negativeComment": "Restaurant is not part of the hotel",
"siteName": "Booking.com"
}

Input schema

  • hotelUrl (string) — required. Full Kayak hotel page URL (desktop). Example: https://www.kayak.com/Miami-Hotels-Miami-International-Airport-Hotel.61867.ksp.
  • sortBy (string) — optional. Sorting strategy. Supported values:
    • recentMost recent
    • scoreDescHighest rated
    • scoreAscLowest rated
    • oldestOldest
  • maxReviews (integer) — optional. Maximum number of reviews to return. If you don't set this, the actor will scrape all available reviews.
  • cutoffDate (string, ISO date) — optional. If set, the actor will only return reviews newer than or equal to the cutoff date and will always force the results to be returned starting from the most recent review (equivalent to sortBy: "recent"). See details below.

Note: If cutoffDate is provided, the actor will automatically set sortBy to "recent" internally to ensure results are returned in descending date order.


Cutoff / sort behaviour

When cutoffDate is defined, results are always returned starting from the newest review and moving backwards in time (i.e. newest → older). This guarantees you will receive all reviews on or after the cutoff date without missing recent entries, regardless of the sortBy you passed. Practically:

  • If cutoffDate is provided, sortBy is treated as recent for the run.
  • The actor will paginate through reviews until either maxReviews is reached or reviews older than cutoffDate are encountered.

This design avoids missing recent reviews when you perform repeated incremental scrapes.


Output schema (per review)

Each scraped review is returned as an object. Common fields include:

  • id — string: unique review identifier
  • monthYear — string: month and year for the stay or the review (e.g. Sep 2025)
  • score — number: rating score (0–100 scale where Kayak or provider uses it)
  • ratingCategory — string: rating label (e.g. Excellent, Very good)
  • positiveComment — string: short extracted highlight for positive aspect
  • negativeComment — string: short extracted highlight for negative aspect
  • siteName — string: original provider label shown on Kayak (e.g. Booking.com, Priceline)
  • reviewText — string: full review comment (when available)
  • reviewDate — string: ISO date of the review (when available)

Kayak review sources

Kayak aggregates reviews from multiple partner sites. The most common upstream sources you may see in the siteName field include:

  • Booking.com
  • Priceline
  • Agoda
  • HotelsCombined

The scraper captures whatever provider label Kayak surfaces on that hotel page.


Usage

  1. Provide the hotelUrl of the Kayak hotel page you want to scrape.
  2. (Optional) Set sortBy, maxReviews, and/or cutoffDate.
  3. Run the actor. Download results as JSON, or use Apify’s export to CSV/Excel.

Tips:

  • For incremental crawls use cutoffDate to only fetch recent reviews. As Kayak returns only year/month, it is recommended to set the cutoff date to the first day of a month (e.g. 2024-09-01).
  • Keep maxReviews reasonable for a single run to avoid long runtimes and higher compute costs.
  • If you need reviews for many hotels, run the actor in parallel for each hotel URL.

When to use this scraper

  • Build datasets of traveler feedback across brands and locations
  • Run competitive analysis and UX benchmarking for hotel chains
  • Feed data to sentiment analysis and topic extraction pipelines
  • Monitor guest-reported issues (cleanliness, staff, location, facilities)

  • Kayak displays third-party reviews; ensure you comply with Kayak’s and upstream providers’ Terms of Service before using scraped data for commercial purposes.
  • This actor is intended for lawful, ethical scraping and research. Avoid excessive scraping that may burden Kayak’s servers.

Troubleshooting

  • If the actor returns fewer reviews than expected, check whether the hotel page has filters, or Kayak requires a different locale to surface reviews.
  • Some reviews may be hidden behind lazy-loading or require cookies; the actor handles common cases but edge cases can exist.

Contact & contributions

If you find bugs, need additional fields, or want to contribute improvements, open an issue or pull request on the project repository. Pull requests with tests and updated README examples are appreciated.

  • Fast Agoda Reviews Scraper — Scrape detailed hotel reviews directly from Agoda.com with reviewer info, stay details, and ratings.