Klook Reviews Scraper ⭐ avatar

Klook Reviews Scraper ⭐

Pricing

Pay per usage

Go to Apify Store
Klook Reviews Scraper ⭐

Klook Reviews Scraper ⭐

Extract Klook reviews with ratings, review text, traveler feedback, dates, activity details, and useful review metadata. Ideal for travel sentiment analysis, attraction research, customer experience monitoring, tourism insights, competitor analysis, and datasets.

Pricing

Pay per usage

Rating

0.0

(0)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

0

Bookmarked

3

Total users

3

Monthly active users

a day ago

Last modified

Categories

Share

What does Klook Reviews Scraper do?

Klook Reviews Scraper collects public hotel reviews from Klook and turns them into a clean dataset. Provide a Klook hotel detail URL or a numeric hotel ID, set how many reviews you want, and receive review text, translations, scores, dates, stay details, reviewer information, images, and hotel-level rating data.

The Actor is built for hotel market research, guest feedback monitoring, travel content research, competitor analysis, and datasets for reporting or AI-assisted review analysis. Results can be downloaded from Apify as JSON, CSV, Excel, XML, or connected to another workflow through the Apify API.

Why use Klook Reviews Scraper?

  • Collect guest feedback in a structured format - Turn public Klook review pages into records that are easier to search, compare, filter, and analyze.
  • Start with a hotel URL or ID - Use a complete Klook hotel detail URL when you need a specific locale, or provide the numeric hotel ID directly.
  • Capture original and translated content - Keep the original review language and text, plus translation metadata and translated text when Klook provides it.
  • Analyze hotel quality at a glance - Each record can include its own score and label, the property average score, the overall label, and the available review count.
  • Include guest photos - Review image URLs are captured when guests attach images to their feedback.
  • Control run size - Set both the maximum number of reviews and the maximum number of review pages to process.
  • Handle temporary source failures - The Actor validates responses, retries temporary errors, and recovers from short-lived access blocks without manual intervention.
  • Build repeatable monitoring workflows - Run the Actor on demand or schedule it to track changes in guest feedback over time.

What data can you extract from Klook?

Each dataset item represents one public Klook hotel review and includes review-level details plus useful hotel-level information.

FieldTypeDescription
hotel_idStringKlook hotel identifier.
hotel_urlStringCanonical Klook hotel detail URL.
localeStringLocale used in the Klook hotel URL, such as en-US.
review_pageNumberReview page from which the record was collected.
review_positionNumberPosition of the review in the collected result set.
review_filter_tag_idStringKlook review filter tag associated with the collection, when available.
review_idStringKlook review identifier, or a stable generated identifier when Klook does not expose one.
user_nameStringReviewer display name.
user_avatar_urlStringURL of the reviewer's avatar, when available.
helpful_countNumberNumber of helpful votes, when available.
mark_usefulBoolean or StringHelpful-vote status or marker returned with the review, when available.
review_languageStringLanguage code of the original review.
review_timeStringDate or time shown for the review.
check_in_infoStringRoom, occupancy, and stay information shown with the review.
review_contentStringOriginal review text.
needs_translationBooleanIndicates whether Klook marks the review as needing translation.
translated_languageStringLanguage used for the available translation, when present.
translated_contentStringTranslated review text, when present.
review_scoreStringIndividual review score.
review_score_maxStringMaximum possible review score.
review_score_labelStringReview rating label, such as Great or Fantastic.
imagesArrayReview image data, including available thumbnail and original image URLs.
available_review_countNumberTotal number of reviews shown as available by Klook.
available_review_count_textStringFormatted total review count displayed by Klook.
hotel_avg_scoreStringAverage score for the hotel.
hotel_score_labelStringOverall hotel rating label.

Fields that are not published for a particular review are omitted or may be empty. This is expected when a guest does not provide a name, image, translation, helpful vote, or stay detail.

How to scrape Klook hotel reviews

  1. Open the Actor in Apify Console.
  2. Enter a public Klook hotel detail URL in hotelUrl, or provide the Klook property identifier in hotelId.
  3. Set resultsWanted to the maximum number of review records you want.
  4. Set maxPages to control how many review pages the run may process.
  5. Keep the default proxy configuration enabled for more consistent collection.
  6. Start the run and review the dataset preview.
  7. Download the results or connect the dataset to a spreadsheet, webhook, automation, or API workflow.

If both hotelId and hotelUrl are provided, hotelId takes precedence and hotelUrl is ignored. Use hotelUrl when the requested locale matters. If neither value is provided, the Actor uses the documented example hotel so that the run can still start.

Input Parameters

ParameterTypeRequiredDefaultDescription
hotelUrlStringNoKlook hotel example URLPublic Klook hotel detail URL. This also sets the review locale. A numeric hotel ID is accepted here as well.
hotelIdStringNoNoneKlook hotel identifier, such as 272231. When supplied, it takes precedence over hotelUrl.
resultsWantedIntegerNo20Maximum number of review records to save.
maxPagesIntegerNo2Maximum number of review pages to process. Each page can contain up to 100 reviews.
proxyConfigurationObjectNoApify Proxy (residential)Proxy settings used for the run. Apify Proxy with residential sessions is enabled by default for reliable Klook access.

The number of saved records can be lower than resultsWanted when the hotel has fewer available reviews, the selected page limit is reached, or some source records do not contain usable review data.

Output Data

The Actor writes one dataset record for each collected review. Hotel-level score and review-count fields are repeated on each record so that individual rows remain useful when exported or processed independently.

The dataset is suitable for:

  • Comparing review scores across hotels or destinations.
  • Finding recurring positive and negative guest comments.
  • Grouping feedback by language, date, room type, or stay details.
  • Reviewing guest-uploaded images alongside written feedback.
  • Creating historical snapshots for hotel reputation monitoring.

Usage Examples

Basic hotel URL extraction

Use a complete Klook hotel detail URL for a small first run.

{
"hotelUrl": "https://www.klook.com/en-US/hotels/detail/272231-hotel-mystays-asakusa/",
"resultsWanted": 20,
"maxPages": 1
}

Extract by hotel ID

Use hotelId when the Klook property identifier is already known. The default locale is en-US in this mode.

{
"hotelId": "272231",
"resultsWanted": 50,
"maxPages": 2
}

Larger run with Apify Proxy

Increase both limits for broader coverage and keep Apify Proxy enabled in the input.

{
"hotelUrl": "https://www.klook.com/en-US/hotels/detail/272231-hotel-mystays-asakusa/",
"resultsWanted": 200,
"maxPages": 3,
"proxyConfiguration": {
"useApifyProxy": true,
"apifyProxyGroups": ["RESIDENTIAL"]
}
}

Sample Output

The following example shows a review from Hotel Mystays Asakusa on Klook. Optional fields are included only when the source provides them.

{
"hotel_id": "272231",
"hotel_url": "https://www.klook.com/en-US/hotels/detail/272231/",
"locale": "en-US",
"review_page": 1,
"review_position": 1,
"review_filter_tag_id": "10001",
"review_id": "gen_c589e9c057a6a052e408bf6af2e65ea3fda7aefe",
"user_name": "arkaye *******",
"user_avatar_url": "https://cdn.klook.com/upload/img200X200/en_PH_02.png",
"review_language": "en_US",
"review_time": "2026-08-25",
"check_in_info": "Standard Semi-double [Non-smoking] - 7 Adults, 1 child - 3 Nights",
"review_content": "service: good, cleanliness: neat, transport access: accessible, when we come back to Tokyo I will book and recommend this hotel. We really enjoyed our stay here.",
"needs_translation": false,
"review_score": "4.0",
"review_score_max": "5.0",
"review_score_label": "Great",
"images": [],
"available_review_count": 1282,
"available_review_count_text": "1K+ reviews",
"hotel_avg_score": "4.4",
"hotel_score_label": "Great"
}

Tips for best results

  • Use a public hotel detail URL - Copy the URL from the Klook hotel page whenever possible. The URL identifies both the property and the locale.
  • Begin with a small run - Start with the default resultsWanted and maxPages values to confirm that the property and locale are correct.
  • Increase one limit at a time - Raise resultsWanted for more records and maxPages for deeper page coverage.
  • Keep the locale consistent - The locale in the hotel URL can affect the presentation of review content.
  • Keep proxy settings enabled - Proxy configuration is recommended for stable repeated runs, especially when collecting larger datasets. Residential sessions are preferred for Klook.
  • Check the available review count - Compare available_review_count with your requested limits to understand how much source data is available.
  • Expect optional fields to vary - Reviews can differ in language, stay details, translations, helpful votes, and attached images.
  • Schedule repeat runs for monitoring - Save each run as a dated snapshot when tracking changes in hotel reputation or guest feedback.

Reliability and coverage

Klook can change its public pages, access rules, and response formats. The Actor checks that each response contains usable review data instead of treating every HTTP success as valid. Temporary network failures, rate limits, and short-lived access blocks are retried with bounded recovery. If a run still cannot collect data, the log reports the failed stage so the issue can be investigated without guessing.

The Actor also keeps hotel-level fields from the first review page and applies them to later pages, so average scores and review counts do not disappear from deeper results.

Integrations and exports

Apify provides several ways to use the collected Klook review data outside the Actor run.

  • CSV and Excel - Export rows for sorting, filtering, pivot tables, and team reporting.
  • JSON and XML - Use structured exports in data pipelines, scripts, or storage systems.
  • Apify API - Retrieve dataset items programmatically after a run completes.
  • Google Sheets - Send review records to a spreadsheet for collaborative analysis.
  • Webhooks, Make, and Zapier - Connect completed runs to notifications, databases, dashboards, or other business tools.
  • Scheduled runs - Refresh a hotel's review dataset on a recurring schedule for monitoring workflows.

Frequently Asked Questions

What does this Actor collect from Klook?

It collects public Klook hotel reviews together with reviewer details, review dates, languages, original and translated text when available, scores, stay information, images, and hotel-level rating data.

Do I need a Klook hotel URL?

No. You can provide either hotelUrl or hotelId. A complete hotel URL is usually the simplest option because it includes the property path and locale. If both are provided, hotelId takes precedence.

How many reviews can I collect?

You control the maximum with resultsWanted. The actual count depends on the number of reviews available for the hotel and the maxPages limit. Each review page can contain up to 100 records.

What is the difference between resultsWanted and maxPages?

resultsWanted limits the number of review records saved. maxPages limits how many review pages the Actor may process. Both limits apply, so a larger result target may require a larger page limit.

Are translated reviews included?

Yes, when Klook provides translation data. The record can include needs_translation, translated_language, and translated_content, in addition to the original review language and text.

Can I collect review images?

Yes. When a review includes image data, the images field contains the available image information. Reviews without images return an empty or omitted field depending on the record.

Can I run this Actor on a schedule?

Yes. Create an Apify schedule to run it hourly, daily, weekly, or at another interval. Scheduled runs are useful for tracking new feedback and changes in hotel ratings.

Why are some fields missing?

Klook does not publish every field for every review. A guest may not provide a display name, avatar, stay details, translation, helpful vote, or image. The Actor preserves available values without inventing missing information.

Why did a run return no reviews?

The hotel may have no public reviews, the supplied hotel ID may not match a public property, or Klook may have temporarily limited access. Check the run log for the reported stage and confirm the hotel page shows public reviews before changing the input.

Can I export Klook reviews to CSV or Excel?

Yes. Apify datasets can be downloaded as CSV, Excel, JSON, XML, and other supported formats. You can also access the dataset through the Apify API or connect it to automations.

You are responsible for using the Actor lawfully. Collect only data you are permitted to access, follow Klook's terms and applicable privacy rules, and use the results responsibly. Avoid collecting or processing personal information beyond your legitimate purpose.

Support

For bug reports, feature requests, or questions about a run, use the Issues tab on the Actor page. Include the input used, the affected Klook hotel URL or ID, and the run ID when possible. This makes it easier to investigate missing records or source-page changes.

This Actor is intended for legitimate collection and analysis of publicly available Klook review data. You are responsible for complying with Klook's terms of use, applicable laws, privacy requirements, and any restrictions related to storing, sharing, or processing review content and images. Use collected data respectfully and only for lawful purposes.