Klook Activity Details Scraper
Pricing
from $1.40 / 1,000 activity-scrapeds
Klook Activity Details Scraper
Scrape full Klook activity records. Just add activity ids or URLs and get the name, rating, review count, every package with its price and highlights, description sections, FAQs, photo counts and the review summary. Add related activities too. $2.00 per 1,000 activities.
Pricing
from $1.40 / 1,000 activity-scrapeds
Rating
0.0
(0)
Developer
BonCross API
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day ago
Last modified
Categories
Share
What is Klook Activity Details Scraper?
Give Klook Activity Details Scraper the link to a Klook activity and it hands back the whole page as one structured record. For Hong Kong Disneyland on 7 October 2026 that meant 28 packages in 8 groups with their prices, the rating behind 192,032 reviews, 10 FAQs, the what's-included list, the opening hours and location, and a dozen traveller photos.
Why people pick it over a listing scrape:
- Each package, not one "from" price. You get the name, price, crossed-out price, group, badges and sale status of each option the activity sells.
- Lists you can use as they are. What's included, what isn't, eligibility, validity and how to redeem arrive as plain headings and strings. You don't have to parse a description to find them.
- Things most Klook data leaves out: the day-by-day itinerary of a tour with coordinates for each stop, the attractions a Klook Pass covers, and the good-to-know notes on refunds and confirmation.
- Fast enough for a catalogue. 150 activities came back in 32 seconds, 12 in 4 to 5.
- $2.00 per 1,000 activities on the Free plan and $1.40 on Business, whichever sections you switch on. There's no proxy to set up and no usage charge on top.
BonCross Verified means we tested this actor against the live site before release and kept the record:
- 32 of 32 live checks on its inputs and filters passed on 8 October 2026
- 14 activities run on 7 October 2026: 13 activities, 1 error row
- Charges matched the rows: 13 scraped, 1 checked
- An unknown or unavailable activity gets a row saying why, at the checked fee only
This actor describes an activity. It doesn't search for one and it doesn't price a date. If you need to find activities first, Klook Search Scraper lists them by keyword or city and gives you the ids to feed in here. Prices and places left for a particular day come from Klook Activity Availability & Prices, and the reviews themselves from Klook Activity Reviews Scraper.
What data can you extract from a Klook activity?
| 🏷️ Activity name and id | 🔗 Activity link and canonical link |
| ⭐ Rating out of five and its wording | Review count |
| Klook's review summary | 👥 Number booked |
| 🎟️ Package list with each package's price | Crossed-out list price |
| Package grouping and badges | Highlights per package |
| Sale status per package: on sale, suspended or coming soon | Combo flag and version per package |
| Ticket type per package: fixed date, open or flexible | Quantity limits per package |
| 💰 Lowest and highest price, price from and price to | 💱 Currency and symbol |
| ✅ What's included and what isn't | Each titled content block |
| 📄 Description sections | ❓ FAQs |
| 🗺️ Day-by-day tour itinerary with places and coordinates | Good-to-know notes: refunds, confirmation, validity |
| Attractions a Klook Pass covers | Klook Pass options and their choices |
| 📷 Traveller photo count and a sample of photo links | Reviews with photos |
| Related activities, with prices and ratings | Highlights of the activity |
| 🏙️ City, city id and country | Category, leaf category and sub-category id |
| 🖼️ Main image | Sold-out flag and first package id |
How to scrape Klook activity details
There's no code to write. You fill in a form and download a table.
- Open a free Apify account and go to Klook Activity Details Scraper.
- Paste Klook activity links, one per line. An activity number on its own works too.
- Leave the sections switched on, or turn off the ones you don't need to make the run quicker.
- Press Start, and download the result as JSON, Excel or CSV when it finishes.
⬇️ Input
All you have to supply is the list of activities. Each section of the record has its own switch, and the price per activity is the same whichever you leave on. Only related activities are billed on top.
There's one limit, "Maximum activities for the whole run", which stops the run after that many activities (default 0, no limit). One activity is one row, so there's no per-target limit to set.
One activity with everything, related activities included
{"activities": ["https://www.klook.com/en-GB/activity/39-hong-kong-disneyland-park-ticket/"],"includeRelated": true}
Several activities, packages and prices only
{"activities": ["39", "3021", "69622"],"includePackages": true,"includeDescription": false,"includeFaq": false,"includePhotos": false,"includeItinerary": false}
A tour with its itinerary and good-to-know notes
{"activities": ["https://www.klook.com/en-GB/activity/145211-sri-lanka-10-days-tour-with-4-star-hotels-and-private-transportation/"],"includeItinerary": true}
itinerary lists each day's stops (pick-up, transport, attractions) with a description and the places visited, each with coordinates. importantInfo has the lead package's good-to-know notes. For a Klook Pass, passAttractions lists the attractions the pass covers.
Prices in Singapore dollars, description in Japanese
{"activities": ["69622"],"currency": "SGD","language": "ja_JP"}
| Field | Notes |
|---|---|
activities | Klook activity links or activity numbers. |
startUrls | The same links loaded in bulk from a file, a Google Sheet or a remote list. Combined with activities. |
maxItems | Stop after this many activities. Related-activity rows don't count. Default 0. |
includePackages, includeDescription, includeFaq, includePhotos, includeItinerary | The sections of the record. All on by default. |
includeRelated | Adds the activities Klook recommends alongside. Default off, charged separately. |
resolveActivityCard | "Include the activity summary" in the form: booked count, city, category and main image. Default on. |
currency | Default USD. Package prices are quoted in it. |
language | Default en_GB. Sets the language of the description sections, the FAQ, the rating label and the review summary. |
maxConcurrency, delayMs | Advanced. See below. |
For developers
includeDescriptionalso fillsimportantInfoand the top-levelhighlights. With it off, both are empty.includeItineraryandresolveActivityCardeach add one lookup per activity. TurnresolveActivityCardoff only if packages and prices are all you need.packagesListedBysays how Klook lists the activity's packages.spuis an activity sold as one product with options, wherefirstPackageNameand the content groups describe its first package.packageis one sold as separate packages, wherefirstPackageNameis null. It's null when no package list was returned.missingSectionsnames any section that couldn't be read on that run. Check it before you treat a row as complete.- An id that Klook answers with no activity, or with an activity it doesn't offer in the requested language, is billed
activity-checkedin place ofactivity-scraped. An id that fails for any other reason isn't charged. maxConcurrency(default 64, from 1 to 64) sets how many requests run at once, anddelayMs(default 0, up to 10,000) adds a pause before each. We'd change them only if a run reports errors.- When Apify moves a run to another server part-way through, it resumes where it stopped. Rows already delivered aren't written or charged again.
⬆️ Output
One activity is one row, with the packages, description, FAQs and related activities nested inside it. Here's Hong Kong Disneyland, shortened where you see "…":
{"input": "https://www.klook.com/en-GB/activity/39-hong-kong-disneyland-park-ticket/","id": "39","activityId": "39","url": "https://www.klook.com/en-GB/activity/39-activity/","name": "Hong Kong Disneyland Park Ticket","firstPackageName": "Silver Magic Access Membership","packagesListedBy": "spu","rating": 4.8,"ratingScale": 5,"ratingText": "Fantastic","reviewCount": 192032,"reviewCountText": "192.0K reviews","aiSummaryTitle": "Reviews summary","aiSummary": [{"id": "2074404","type": "overall_impression","title": "Overall impression","content": "Visitors enjoyed convenient, quick entry with hassle-free QR code use. Many found booking and purchasing tickets easy and often at better prices. Park experiences included short queue times, clean facilities, and memorable shows, contributing to fun and magical visits."}],"packageCount": 28,"lowestPrice": 15.79,"highestPrice": 656.55,"priceFrom": 15.79,"priceTo": 656.55,"priceListed": 659.15,"isSoldOut": false,"bookedCount": 8935773,"bookedText": "8M+ booked","cityId": "2","cityName": "Hong Kong","countryId": "2","countryName": "Hong Kong","category": "Theme parks","leafCategoryId": "416","imageUrl": "https://res.klook.com/image/upload/activities/xzttq28djjq1k4ewfbeu.jpg","canonicalUrl": "https://www.klook.com/en-GB/activity/39-hong-kong-disneyland-resort-hong-kong/","subTitle": "Theme parks • Hong Kong","subCategoryId": 415,"firstPackageId": "420090","inclusions": ["1 Silver Magic Access Membership ticket(s)","Valid admission days: Most weekdays excluding public holidays. All park visits require advance reservations via a valid membership card and are subject to limited quotas and the park’s operating schedule","…"],"exclusions": ["Other personal expenses"],"highlights": ["Disney Halloween Time (18 Sep-1 Nov 2026)","Experience magical discovery at World of Frozen","Unmissable magical attractions and themed lands"],"contentGroups": [{"heading": "What's included","sectionTitle": "About this package","sectionType": "","items": ["1 Silver Magic Access Membership ticket(s)","…"]},"…"],"currency": "USD","currencySymbol": "US$","packageGroups": [{"groupId": 34477,"groupName": "Limited-time offers","groupDesc": "","groupTag": "Klook recommended"},"…"],"packages": [{"packageId": "773086","packageName": "Midweek Getaway Ticket (Wednesday entry)","packageDesc": "Save more with a special rate on a fixed Wednesday date!","groupId": 34477,"groupName": "Limited-time offers","groupTag": "Klook recommended","price": 70.09,"priceText": "US$ 70.09","priceListed": 85.25,"hasStock": true,"isCombo": false,"comboVersion": null,"bestSkuId": "828952554941","highlights": ["Valid on the selected date","No cancellation","Instant confirmation"],"ticketType": null,"ticketTypeCode": null,"minQuantity": null,"maxQuantity": null,"saleStatus": "on_sale","saleStatusCode": 1,"saleStatusText": null,"onSaleFrom": null,"spec": null},"…"],"descriptionSections": [{"title": "Attraction info","sectionType": "attraction_info","components": [{"type": "address","data": {"title": "Location","address": {"address": "22.312957,114.040701","address_desc": "Hong Kong Disneyland","…": "…"},"…": "…"}},"…"]},"…"],"importantInfo": ["No cancellations, or refunds can be made","You'll get confirmation within 48 hours. If you don't receive a confirmation email, reach out to our customer support.","…"],"itinerary": null,"itineraryDisclaimers": null,"passAttractions": null,"faq": [{"question": "Which ticket type has access to \"World of Frozen\"?","answer": "All admission tickets, including 1-Day and 2-Day Tickets, can visit \"World of Frozen\" and any other attractions during the Park's opening hour."},"…"],"faqUrl": "https://www.klook.com/en-GB/web3/activity/39/faq/","photoCount": 311830,"reviewsWithPhotos": 90661,"samplePhotos": ["https://cdn.klook.com/user_review/product/1949722/8ca56b67-808b-4f36-4ec6-6cf170bfe91d.0*1200.jpeg","https://cdn.klook.com/user_review/product/1949722/0b60d50e-a7ab-432d-501f-2892c2042f1a.1200*0.jpeg","…"],"relatedCount": null,"related": [],"missingSections": [],"scrapedAt": "2026-10-07T20:33:43.052Z"}
descriptionSections keeps the page's own structure. Each section has a title, a sectionType and a list of components, and each component has a type (opening hours, location, text, highlights) and its content as Klook provides it, display settings and icon links included. The shape varies by component type and by activity. If you want plain lists, read contentGroups, inclusions and exclusions: the same kind of content as simple headings and strings.
inclusions and exclusions describe the package Klook shows first, the one named by firstPackageId and firstPackageName. Other packages include different things, and contentGroups holds each titled block (here What's included, Not included, Eligibility, Additional information, Usage validity, Reservation required, How to redeem, Address and How to get there).
How many activities can you get, and how fast?
| Run | Rows | Packages | Time | Price |
|---|---|---|---|---|
| One activity with all sections and 12 related activities on | 1 | 30 | 2 s | $0.0076 |
| Three activities (Universal Studios Japan, a Mt Fuji tour, a Japan eSIM), default options | 3 | 174 | 8 s | $0.008 |
| Twelve activities (theme parks, tours, an eSIM, a pass), default options | 12 | 277 | 4 to 5 s | $0.026 |
| 150 products from Klook search results (incl. 10 hotel cards), default options | 150 | 462 | 32 s | $0.302 |
Times are whole runs, start to finish. That's about 280 activities a minute, and a one-hour run covers well over 10,000.
Related activities stop at the dozen Klook recommends.
How much does it cost to scrape Klook activity details?
| Event | Free plan | Starter | Scale | Business |
|---|---|---|---|---|
actor-start, once per run | $0.002 | $0.002 | $0.002 | $0.002 |
activity-scraped, per activity | $0.002 | $0.0018 | $0.0016 | $0.0014 |
activity-related, per related activity, only when that option is on | $0.0003 | $0.00027 | $0.00024 | $0.00021 |
activity-checked, per id Klook answered with no activity or with an activity it does not offer in the requested language (the row says which), instead of activity-scraped | $0.0005 | $0.0005 | $0.0005 | $0.0005 |
Enterprise plans pay the Business price.
$2.00 per 1,000 activities on the Free plan, $1.40 on Business. It's the whole price, with no proxy charges or usage fees added, and it doesn't change with the sections you turn on.
- One activity with its 12 related activities: $0.002 + $0.002 + 12 × $0.0003 = $0.0076 ($0.00592 on Business).
- A hundred activities without related: $0.002 + 100 × $0.002 = $0.202 ($0.142 on Business).
Apify gives Free plan accounts $5 of credits each month, which is about 2,400 activity records at the size of the second example.
FAQ
Do I need proxies or a Klook account?
There's nothing to configure. You don't need an account, and no proxy charge is added to the per-activity price.
Where do I find the activity number?
In the address of the activity page: 39 in klook.com/en-GB/activity/39-hong-kong-disneyland-park-ticket/. Paste the whole address if that's easier.
Why is priceFrom lower than any ticket I can see?
It's the cheapest package the activity sells, and many activities sell add-ons next to admission. On Hong Kong Disneyland the lowest price was US$15.79, a child meal set, while the 1-Day Ticket was US$78.69. Klook's own listing card shows the same "from" figure. Read packages for the price of each option.
Can I get the price for a specific date?
Not from this actor. Package prices here are Klook's headline price per option. Dated prices and stock per time slot are what Klook Activity Availability & Prices returns.
Does the language setting translate everything?
Part of it. The description sections, FAQ, rating label and review summary follow the language you set (checked in Japanese on 7 October 2026). The activity name, category, city, package names and the included and not-included lists stay in English.
Why did I get a row with an error and nothing else?
Klook lists some activities without offering them in the language you asked for. That includes a sold-out or withdrawn listing with no packages. You get its id, its link and a note saying it isn't available, at the activity-checked fee. An id Klook doesn't know at all is reported the same way. Where Klook gives a message of its own, the note quotes it. An activity that couldn't be read at all gets a row saying what happened and what to do about it, and that row is free.
What won't it return?
highlightsat the top level is filled only where Klook publishes a Highlights block: 6 of 18 activities tested on 7 October 2026, all attraction tickets and passes. Each package has its ownhighlightseither way.- Itineraries are published for part of Klook's tours only. Others leave
itineraryempty. - Photos are a sample, 12 links on most activities, plus the full counts. In one check 12 of 13 activities had them.
- A package's ticket type and quantity limits are given for tours, passes and eSIMs. Ticket-style packages leave them empty. Sale status and combo flags are given where Klook lists them.
- The number booked, city, country and main image come from the activity card when Klook recommends the activity elsewhere, and from the activity page otherwise. The category and card subtitle come from the card only.
- A Klook Pass lists each option it sells (204 options across the six Klook Passes tested, 74 for Singapore) with the option's choices in
spec.specis empty for other activities. - Hotel cards that Klook search returns aren't activities and come back with empty sections. Use the
activityIdof anactivityrow. - If one section fails, you still get the row, and
missingSectionslists what's absent.
Is it legal to scrape Klook?
Everything the actor reads is on Klook's public activity pages, visible without logging in, and none of it is personal data. Scraping public data is generally lawful. You're responsible for how you use it and for respecting Klook's terms and the law that applies to you.
Feed a catalogue, or call it from code
The usual pipeline is two steps: Klook Search Scraper produces activity ids for a city, and this actor turns each id into a record for your catalogue, comparison site or pricing audit. Re-run it on an Apify Schedule and you can see when an operator adds a package or changes a headline price.
POST https://api.apify.com/v2/acts/boncross~klook-activity-details/run-sync-get-dataset-items with the input JSON as the body runs it and returns the records in the same request. For an AI agent, add the Apify MCP server at mcp.apify.com and the actor appears as the tool boncross/klook-activity-details. It can then answer "what does this ticket include?" from the record.
More from BonCross
- Klook Activity Availability & Prices: Klook availability and prices.
- Klook Activity Reviews Scraper: Every review Klook shows for an activity.
- Trip.com Attraction Reviews Scraper: Trip.com reviews for any attraction.
- KKday Product Availability & Prices: KKday availability and prices for any product.
- Trip.com Hotel Search Scraper: Every hotel Trip.com lists for a destination and your dates.
- Accor Hotel Details Scraper: Full Accor hotel records.
Your feedback
Is there something on a Klook activity page that isn't in the record? Open an issue on the Issues tab in Apify Console and paste the link. We read them all, and missing fields are what we add first.