Klook Home Feed Scraper avatar

Klook Home Feed Scraper

Pricing

from $1.20 / 1,000 feed item chargeds

Go to Apify Store
Klook Home Feed Scraper

Klook Home Feed Scraper

Get Klook's Home tab content feed 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 $1.20 / 1,000 feed item chargeds

Rating

0.0

(0)

Developer

Romy

Romy

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

Categories

Share

What does Klook Home Feed Scraper do?

Klook Home Feed Scraper scrapes Klook's Home tab live content feed and discovery rails: the paginated Recommended/Nearby/seasonal feed, the richer "Nearby gems" widget (and its full "see more" list), "Where to next?" destination suggestions, the "Recently viewed" rail, and the Trips tab's inspiration carousel.

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 Home-tab slice of Klook All-in-One API, split out as its own focused Actor.

Why use Klook Home Feed Scraper?

  • The whole Home tab in one Actor — Recommended, Nearby (location-based), whatever seasonal rail Klook is currently running, "Nearby gems", "Where to next?", "Recently viewed", and the Trips tab's inspiration carousel
  • Real, working pagination on the main feed — confirmed live by the parent Actor with real result counts
  • No account needed — every endpoint works fully anonymously
  • Use cases: travel content aggregation, home-feed monitoring, destination-suggestion mining, recently-viewed tracking for a session pipeline

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 the Home-tab endpoints — /home/feed/tabs, /home/feed, /home/nearby, /home/nearby/more, /home/where-to-next, /recently-viewed, /trips/inspiration — and runs as a normal input-in/dataset-out Actor instead of a Standby API.

Input

FieldTypeDescription
sectionstringWhich widget to fetch: feed (default), feedTabs, nearby, nearbyMore, whereToNext, recentlyViewed, tripInspiration
tabstringA tab value from feedTabs, e.g. 1=Recommended, 6=Nearby. Used when section=feed. Default "1"
pageintegerStart page for section=feed. Default 1
sizeintegerResults per page for section=feed. Default 10
maxPagesintegerStop after this many pages (section=feed). Default 10
maxItemsintegerStop once this many items have been pushed (section=feed only)
lat / lngnumberRequired for nearby/nearbyMore. Optional for feed (Nearby tab) and whereToNext
limitintegerCards to return for nearby, whereToNext, recentlyViewed
currencystringISO code, affects prices in recentlyViewed

Example:

{ "section": "nearby", "lat": -6.2884, "lng": 106.7183, "limit": 5 }

Output

One row per item for section=feed/nearbyMore when the response is a list, otherwise one row wrapping the raw response. Real example (from the parent Actor's own live-confirmed capture of GET /home/nearby?lat=-6.2884&lng=106.7183&limit=1):

{
"section": "nearby",
"data": {
"success": true,
"nearby": {
"result": {
"title": "Nearby gems in South Tangerang",
"recommend_cards": [{ "data": { "title": "Up at Thamrin Nine Observatory Deck in Jakarta" } }]
}
}
}
}

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.
  • Home feed cards were audited by the parent Actor for non-activity content and found to be activities only.
  • /home/where-to-next's "See more" opens a plain klook.com webpage, not an API call.
  • 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 feed-item (FREE tier) — one event per row pushed to the dataset. See the Actor's Pricing tab for rates across all tiers.