Klook Reviews Scraper avatar

Klook Reviews Scraper

Pricing

from $2.00 / 1,000 review chargeds

Go to Apify Store
Klook Reviews Scraper

Klook Reviews Scraper

Get activity reviews with real filters from Klook. Talks directly to Klook's own mobile app API, no login needed. Split from the mature, published klook-all-in-one-api for a focused, single-purpose workflow.

Pricing

from $2.00 / 1,000 review chargeds

Rating

0.0

(0)

Developer

Romy

Romy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

12 hours ago

Last modified

Categories

Share

What does Klook Reviews Scraper do?

Klook Reviews Scraper scrapes customer reviews for one Klook activity — reviewer name, rating, content, photos — with real filters (star rating, photo-only) and real pagination, one dataset row per review.

It talks directly to the same internal API the official Klook Android app uses, reverse-engineered by disassembling the app's native request-signing library and validated against live traffic captured from a real device. No Klook account, no API key. This is the reviews slice of Klook All-in-One API, split out as its own focused Actor.

Why use Klook Reviews Scraper?

  • Real filters, not client-side guessesstarNum (1-5) and onlyImage were both confirmed live by the parent Actor by tapping the actual control and reading the resulting request off the wire
  • Real, working pagination — confirmed live by the parent Actor with real result counts
  • No account needed — works fully anonymously
  • Use cases: review sentiment analysis, rating monitoring, photo-review mining

How it connects to the parent

This Actor is a narrow, batch-run spin-off of klook-all-in-one-api (an always-on Standby REST API exposing every Klook endpoint). It reuses the parent's exact, proven request-signing logic (klook-client.ts, copied verbatim) but only wraps /activities/{id}/reviews, and runs as a normal input-in/dataset-out Actor instead of a Standby API.

Input

FieldTypeDescription
activityIdstringRequired. Klook activity id to fetch reviews for.
starNumintegerFilter to one star rating (1-5). Leave empty for all ratings.
onlyImagebooleanOnly return reviews that include a photo.
pageSizeintegerReviews per request. Default 10
maxItemsintegerStop once this many reviews have been pushed. Default: unlimited (all reviews)

Example:

{ "activityId": "93901", "starNum": 5, "pageSize": 20 }

Output

One dataset row per review. Real example (from the parent Actor's own live-confirmed capture of GET /activities/93901/reviews?star_num=1&limit=1):

{
"author": "Klook User",
"rating": 20,
"content": "..."
}

Known limitations

  • Requires Apify's RESIDENTIAL proxy group. Klook's edge blocks non-residential IPs with a DataDome bot-challenge page — confirmed directly from this development sandbox (a request byte-for-byte identical to a working one, sent without the proxy, came back as a DataDome JS-challenge HTML page, not JSON). All outbound requests route through Actor.createProxyConfiguration({ groups: ['RESIDENTIAL'] }).
  • Local dev smoke testing outside the Apify platform needs "Proxy external access" enabled on the account. This Actor's code was verified to be a byte-for-byte match against the parent's already-published, working klook-client.ts, and the local smoke test run during development failed exactly at the proxy-URL-acquisition step (ProxyConfiguration: The "Proxy external access" feature isn't enabled for your account) — before any request to Klook was even attempted. That's an account-tier restriction on pulling a proxy URL from outside a real platform Actor run, not a defect in this code; once deployed and actually run on Apify's platform, proxy access works through the normal SDK path.
  • rating is on a 0-100 scale in increments of 20, not 1-5 — confirmed live by the parent Actor: star_num=1 returns only rating=20 reviews (i.e. rating = starNum * 20). Divide by 20 to get the familiar star count.
  • One activity per run — use klook-activity-detail-scraper to first discover activity ids, then run this Actor per id (or in a loop from your own orchestration).
  • This is an unofficial, reverse-engineered integration, not affiliated with or endorsed by Klook Travel Technology Limited.

Pricing

Pay per event. Charged $0.0015 per review (FREE tier) — one event per review pushed to the dataset. See the Actor's Pricing tab for rates across all tiers.