Kayak Hotel Reviews Scraper avatar

Kayak Hotel Reviews Scraper

Pricing

from $0.99 / 1,000 results

Go to Apify Store
Kayak Hotel Reviews Scraper

Kayak Hotel Reviews Scraper

Extract hotel reviews, ratings, and guest feedback from Kayak effortlessly. Scrape pricing, amenities, images, and detailed reviews in bulk. Perfect for travel data analysis, market research, and competitive intelligence. Fast, reliable, and ready to scale.

Pricing

from $0.99 / 1,000 results

Rating

5.0

(3)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

3

Bookmarked

9

Total users

2

Monthly active users

11 days ago

Last modified

Share

What does Kayak Hotel Reviews Scraper do?

Kayak Hotel Reviews Scraper collects guest reviews from Kayak hotel detail pages and turns them into structured, analysis-ready datasets. Provide a Kayak hotel URL, and the Actor extracts review scores, rating labels, positive and negative comments, author details, review source information, and metadata from every review Kayak publishes for that property. Designed for travel researchers, hospitality analysts, reputation managers, and anyone who needs guest feedback data without manual copy-paste.

The Actor works with long and short Kayak hotel URL formats, detects the hotel identity automatically, and paginates through available reviews until your target count is reached. Output is available in JSON, CSV, Excel, XML, and other formats through Apify dataset exports.

Why use Kayak Hotel Reviews Scraper?

  • Structured guest feedback at scale - Collect scores, comments, and source data from hundreds of reviews in a single run instead of reading pages manually.
  • Multi-source review coverage - Kayak aggregates reviews from Booking.com, Agoda, Priceline, HotelsCombined, and Kayak itself, giving you a consolidated dataset per property.
  • Automation-ready output - Export results to JSON, CSV, Excel, or XML, or connect them to dashboards, spreadsheets, and data pipelines through Apify integrations.
  • Travel research and monitoring workflows - Track guest sentiment over time, benchmark competitors, feed hospitality analytics, or build travel content with authentic guest data.

What data can you extract from Kayak?

FieldDescription
hotel_nameHotel name parsed from the Kayak details URL
hotel_idKayak hotel object identifier
hotel_urlDirect Kayak hotel details page URL
review_idUnique review identifier
scoreNumeric review score
rating_categoryLocalized rating category such as Okay or Very Good
review_month_yearMonth and year when the review was published
authorReview author display name
positive_commentPositive feedback text from the reviewer
negative_commentNegative feedback text from the reviewer
review_sourceSource provider name such as Booking.com or Agoda
review_linkDirect link to the original review on the provider site
total_reviews_availableTotal review count reported by Kayak for the property

How to use Kayak Hotel Reviews Scraper

  1. Open the Actor on Apify Store.
  2. Paste a Kayak hotel details URL such as https://www.kayak.com/hotels/Hilton-London-Gatwick-Airport,Gatwick-p492403-h54545-details/.
  3. Set the maximum number of reviews to collect.
  4. Optionally adjust the batch size or enable proxy settings.
  5. Run the Actor.
  6. Download the dataset or connect it to your workflow through webhooks, API, or integrations.

Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlStringNoFrom INPUT.jsonFull Kayak hotel details URL. Works with long and short Kayak URL formats.
results_wantedIntegerNo20Maximum number of reviews to save in one run.
page_sizeIntegerNo10Number of reviews to collect per pagination batch.
proxyConfigurationObjectNo{ "useApifyProxy": false }Optional Apify Proxy settings for improved reliability on repeated runs.

Output Data

Each dataset item can include the following fields. Empty values are automatically removed to keep exports compact.

FieldTypeDescription
review_indexIntegerOrder of review in the collected dataset
hotel_idStringKayak hotel object ID
hotel_nameStringHotel name parsed from the details URL
hotel_urlStringKayak hotel details page URL
total_reviews_availableIntegerTotal review count reported by Kayak
review_idStringUnique review identifier
scoreNumberNumeric review score
localized_scoreNumberLocalized score value
rating_categoryStringLocalized rating category
review_month_yearStringMonth and year of the review
authorStringReview author display name
positive_commentStringPositive feedback text
negative_commentStringNegative feedback text
review_sourceStringReview provider name such as Booking.com or Agoda
review_source_logo_urlStringProvider logo image URL
review_linkStringDirect link to the source review
is_internal_reviewBooleanInternal review flag
sort_typeStringSort mode used for this run
scraped_atStringISO timestamp when the record was saved

Usage Examples

Basic Review Extraction

Provide a Kayak hotel details URL and collect the first set of reviews:

{
"startUrl": "https://www.kayak.com/hotels/Hilton-London-Gatwick-Airport,Gatwick-p492403-h54545-details/",
"results_wanted": 20
}

Higher Volume Collection

Increase the result limit for larger research runs:

{
"startUrl": "https://www.kayak.com/hotels/Hilton-London-Gatwick-Airport,Gatwick-p492403-h54545-details/",
"results_wanted": 200,
"page_size": 10
}

Minimal Input with Local Fallback

When startUrl is omitted, the Actor falls back to the URL stored in INPUT.json:

{
"results_wanted": 20
}

Sample Output

{
"review_index": 1,
"hotel_id": "54545",
"hotel_name": "Hilton London Gatwick Airport",
"hotel_url": "https://www.kayak.com/hotels/Hilton-London-Gatwick-Airport,Gatwick-p492403-h54545-details/",
"total_reviews_available": 9014,
"review_id": "94fhNp0BOkHXFcMyc0Uk",
"score": 40,
"localized_score": 40,
"rating_category": "Okay",
"review_month_year": "Mar 2026",
"author": "Herbst",
"positive_comment": "The restaurant that serves breakfast good.",
"negative_comment": "Arriving and receptionist was incompetent. We were tired and it took ages.",
"review_source": "Booking.com",
"review_source_logo_url": "https://www.kayak.com/provider-logos/hotels/reviews/h/bookingLogo.png",
"review_link": "https://www.kayak.com/out?...",
"is_internal_review": false,
"sort_type": "recent",
"scraped_at": "2026-04-05T12:30:00.000Z"
}

Tips for Best Results

  • Use complete, public Kayak hotel details URLs. The Actor detects hotel identity from the URL path.
  • Start with a smaller limit such as results_wanted: 20 to validate the output, then increase for full research runs.
  • Enable proxy settings when running the Actor repeatedly or at higher volumes to improve stability.
  • Some hotels may have fewer reviews than requested. The Actor saves all available reviews up to the limit.
  • Duplicate reviews are removed by review ID during a run, so each record in the dataset is unique.

Integrations

  • Google Sheets - Send review data to spreadsheets for score tracking and analysis.
  • Webhooks - Trigger downstream workflows after each run completes.
  • Make or Zapier - Connect results to no-code automations.
  • API - Access datasets programmatically from your own systems.

Export Formats

  • JSON - Data pipelines and application integrations.
  • CSV - Spreadsheet and analysis workflows.
  • Excel - Business reporting and dashboards.
  • XML - System-to-system data exchange.

Frequently Asked Questions

Why did I receive fewer reviews than requested?

The available review volume depends on the hotel and any active filters. Some properties have fewer published reviews than your requested limit. The Actor saves all available reviews up to the target count.

Can I scrape reviews from any Kayak hotel page?

Yes, as long as you provide a valid Kayak hotel details URL that the Actor can resolve. Both long and short Kayak URL formats are supported.

Can I collect reviews from specific sources only?

The Actor collects reviews from Kayak's default provider mix which includes Booking.com, Agoda, Priceline, HotelsCombined, and Kayak internal reviews. Output consistency is maintained across all sources.

Is duplicate data removed?

Yes. The Actor de-duplicates reviews by review ID during a single run so the dataset contains one copy of each review.

Are empty fields included in output?

No. Fields without a value are automatically omitted from each dataset record. This keeps the output compact and ready for downstream use.

Scraping public web data can be legal, but you are responsible for complying with applicable laws, Kayak's terms of service, and privacy rules. Use responsible request volumes and respect the website's terms.

Support

For issues, feature requests, or custom Actor development, use the Issues tab on the Actor page or contact the developer through Apify.

This Actor is designed for legitimate data collection from publicly available Kayak pages. Users are responsible for using the data responsibly and complying with applicable laws, Kayak's terms of service, and privacy regulations.