# Klook Search Scraper - Low-cost💲🔥🌏🎟️ (`delectable_incubator/klook-search-scraper-low-cost`) Actor

🌏 Easily scrape Klook search results from bulk URLs. Extract activities, hotels, attractions, transport, prices, discounts, ratings, reviews, booking counts, categories, tags, instant confirmation, free cancellation & URLs. Perfect for travel analytics, OTA research, price monitoring & AI datasets.

- **URL**: https://apify.com/delectable\_incubator/klook-search-scraper-low-cost.md
- **Developed by:** [Prime Scrape](https://apify.com/delectable_incubator) (community)
- **Categories:** E-commerce, Lead generation, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $0.00005 / actor start

This Actor is paid per event and usage. You are charged both the fixed price for specific events and for Apify platform usage.
Since this Actor supports Apify Store discounts, the price gets lower the higher subscription plan you have.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

- **AI agents and MCP clients** — the [Apify MCP server](https://docs.apify.com/integrations/mcp.md) at `https://mcp.apify.com` (remote, streamable HTTP, OAuth on first use).
- **Agentic workflows and local Actor development** — [Agent Skills](https://apify.com/.well-known/agent-skills/index.json) with the [Apify CLI](https://docs.apify.com/cli/docs.md): `npm install -g apify-cli`, then `apify login`.
- **JavaScript/TypeScript projects** — the official [JS/TS client](https://docs.apify.com/api/client/js/docs.md): `npm install apify-client`.
- **Python projects** — the official [Python client](https://docs.apify.com/api/client/python/docs.md): `pip install apify-client`.
- **Any other language** — the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).

# README

<p align="center">
  <img src="https://i.ibb.co/jkNS73wX/readme.png" alt="Klook Search Results Scraper" width="100%">
</p>

***

## 🌏🎟️ Klook Search Results Scraper | Bulk Search URL Scraper | Activities, Hotels & Travel Deals | Apify Actor

### 🚀 Extract Klook Search Results in Seconds (No Code)

The **Klook Search Results Scraper (Apify Actor)** is a powerful, scalable and SEO-optimized scraping solution designed to extract public **Klook search results** using **bulk search URLs**.

Scrape **activities, attractions, hotels, transport, tours, tickets, coupons, experiences and more** from any Klook search results page.

Collect structured travel datasets including titles, prices, discounts, ratings, reviews, booking popularity, categories, cities, promotion tags, instant confirmation, free cancellation, URLs and much more.

Perfect for **travel analytics, price monitoring, OTA intelligence, tourism research, AI datasets, affiliate marketing, competitive analysis and travel marketplaces.**

***

## 🔥 Why This Klook Search Results Scraper?

✔ Best Klook Search Results Scraper on Apify

✔ Supports Bulk Search URL Scraping

✔ Scrape Activities, Hotels, Transport & More

✔ Supports Any Klook Search Tab

✔ Automatic Pagination

✔ Fast & Scalable Extraction

✔ JSON / CSV / Excel Ready

✔ No Coding Required

***

## 🎯 What This Scraper Does

This Apify Actor extracts public listings directly from **Klook Search Results**.

#### 📌 Core Features

✅ Scrape Klook Search Results

✅ Bulk Search URL Scraping

✅ Supports Any Search Category

✅ Activities & Attractions

✅ Hotels

✅ Transport

✅ Tours

✅ Tickets

✅ Coupons

✅ Experiences

✅ Automatic Pagination

✅ Extract Prices & Discounts

✅ Extract Ratings & Reviews

✅ Extract Booking Popularity

✅ Extract Categories

✅ Extract Promotion Tags

✅ Extract Instant Confirmation

✅ Extract Free Cancellation

✅ High-Speed Cloud Scraping

✅ Clean Structured Datasets

***

## ⚡ Input Configuration (Simple & Powerful)

### 🔥 BULK SEARCH URL MODE (SEO BOOST 🚀)

```
{
  "target_urls": [
    {
      "url": "https://www.klook.com/search/result/?query=tokyo&search_scope=main_search&sort=most_relevant&tab_key=0&start=1"
    },
    {
      "url": "https://www.klook.com/search/result/?query=osaka&search_scope=main_search&sort=most_relevant&tab_key=54&start=1"
    },
    {
      "url": "https://www.klook.com/search/result/?query=kyoto&search_scope=main_search&sort=most_relevant&tab_key=0&start=1"
    }
  ],
  "maxitems": 100,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "JP"
  }
}
```

Simply add hundreds of Klook search URLs.

Each URL is processed independently and returns up to **maxitems results per URL.**

**Residential Proxy is required.**

***

## 📊 Extracted Data

| Field | Description |
|--------|-------------|
| objectId | Item ID |
| itemType | Activity, Hotel, Transport, etc. |
| title | Listing title |
| cityName | City |
| category | Category |
| subTitle | Subtitle |
| sellingPriceText | Current price |
| originalPriceText | Original price |
| discountPercent | Discount percentage |
| rating | Rating |
| reviewCount | Number of reviews |
| bookedText | Booking popularity |
| generalTags | Tags |
| promotionTags | Promotions |
| instantConfirmation | Instant confirmation |
| freeCancellation | Free cancellation |
| deepLink | Klook URL |

***

## 💡 Use Cases

Perfect for:

✈️ Travel Intelligence

🏨 Hotel Monitoring

🎟️ Attraction Research

🚆 Transport Comparison

💰 Price Monitoring

📊 Tourism Analytics

🏢 OTA Competitive Intelligence

🤖 AI Training Datasets

📈 Travel Market Research

🌍 Destination Analysis

***

## 🚀 Key Features

⚡ Bulk Search URL Support

🌏 Any Klook Search Category

🏨 Hotels

🎟️ Attractions

🚆 Transport

🎫 Tickets

🎡 Activities

📌 Automatic Pagination

🧠 Structured Output

📊 High-Speed Extraction

🔁 Reliable Cloud Execution

💾 Export-Ready Datasets

⚙️ Enterprise-Ready Apify Actor

***

## 📤 Export Formats

✔ JSON

✔ CSV

✔ Excel (XLSX)

✔ XML

✔ HTML

✔ RSS

***

## 📦 Example Output

```
{
  "objectId": "123456789",
  "itemType": "activity",
  "title": "Tokyo Disneyland Ticket",
  "cityName": "Tokyo",
  "category": "Theme Parks",
  "sellingPriceText": "$68",
  "originalPriceText": "$82",
  "discountPercent": 17,
  "rating": 4.9,
  "reviewCount": 24560,
  "bookedText": "100K+ booked",
  "instantConfirmation": true,
  "freeCancellation": true,
  "deepLink": "https://www.klook.com/activity/12345/"
}
```

***

## 🔥 Why This is the BEST Klook Scraper on Apify?

✔ Optimized for Apify Search Ranking

✔ High-performance extraction engine

✔ Bulk URL support

✔ Works with any Klook search category

✔ Automatic pagination

✔ Rich travel metadata

✔ Structured datasets

✔ Enterprise-ready scalability

✔ Built for travel intelligence & automation

***

## 💸 Pricing

This scraper runs on a **pay-per-result** pricing model.

You only pay for successfully extracted records.

💳 **Price: $1.49 / 1,000 results**

***

## ❓ FAQ

#### Can I scrape multiple Klook search URLs?

Yes.

Bulk URL mode is fully supported.

***

#### Which Klook pages are supported?

Almost every search result page, including:

- Activities
- Attractions
- Hotels
- Transport
- Tickets
- Tours
- Coupons
- Experiences

***

#### Can I scrape thousands of listings?

Yes.

Increase the **maxitems** value for each URL.

***

#### Does it automatically paginate?

Yes.

The scraper automatically follows all available result pages until the requested number of listings has been collected.

***

#### Is Residential Proxy required?

Yes.

Residential proxies are recommended for reliable extraction.

***

#### Is coding required?

No.

Everything runs directly on Apify.

***

#### Can I export the data?

Yes.

Supports JSON, CSV, Excel, XML, HTML and RSS.

***

## ⚠️ Disclaimer

This tool is an independent data extraction solution and is **not affiliated with Klook**.

Users are responsible for complying with Klook's Terms of Service and all applicable laws.

***

## 🔗 Related Actors

We are building the complete **PrimeScrape Travel Intelligence Suite.**

More premium travel, OTA, hotel, airline and tourism scrapers are coming soon.

🚀 Stay tuned.

***

## 🌍 PrimeScrape Ecosystem

Built for large-scale data extraction, automation, AI datasets and business intelligence.

✈️ Travel Intelligence

🏨 Hotel Intelligence

🎟️ Attraction Analytics

📈 Market Research

💰 Price Monitoring

🏢 Competitive Intelligence

🤖 AI Training Datasets

⚙️ Automation Pipelines

🌐 Public Data Extraction

***

## 📬 Support

⭐⭐⭐⭐⭐

If this scraper saves you time, please leave a review.

For enterprise scraping solutions, custom Apify Actors or large-scale travel scraping projects, feel free to contact **PrimeScrape**.

# Actor input Schema

## `target_urls` (type: `array`):

Bulk list of Klook search-result URLs to scrape — any tab\_key works (Things to do, Hotels, Coupons, Transport, etc.)

## `maxitems` (type: `integer`):

Limit of items to collect for each URL in target\_urls. Pagination (via the start= param) stops once this is reached for that URL.

## `proxy` (type: `object`):

RESIDENTIAL proxy required

## Actor input object example

```json
{
  "target_urls": [
    {
      "url": "https://www.klook.com/search/result/?query=tokyo&search_scope=main_search&sort=most_relevant&tab_key=0&start=1"
    },
    {
      "url": "https://www.klook.com/search/result/?query=tokyo&search_scope=main_search&sort=most_relevant&tab_key=54&start=1"
    }
  ],
  "maxitems": 60,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "JP"
  }
}
```

# Actor output Schema

## `results` (type: `string`):

No description

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "target_urls": [
        {
            "url": "https://www.klook.com/search/result/?query=tokyo&search_scope=main_search&sort=most_relevant&tab_key=0&start=1"
        },
        {
            "url": "https://www.klook.com/search/result/?query=tokyo&search_scope=main_search&sort=most_relevant&tab_key=54&start=1"
        }
    ],
    "maxitems": 60,
    "proxy": {
        "useApifyProxy": true,
        "apifyProxyGroups": [
            "RESIDENTIAL"
        ],
        "apifyProxyCountry": "JP"
    }
};

// Run the Actor and wait for it to finish
const run = await client.actor("delectable_incubator/klook-search-scraper-low-cost").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = {
    "target_urls": [
        { "url": "https://www.klook.com/search/result/?query=tokyo&search_scope=main_search&sort=most_relevant&tab_key=0&start=1" },
        { "url": "https://www.klook.com/search/result/?query=tokyo&search_scope=main_search&sort=most_relevant&tab_key=54&start=1" },
    ],
    "maxitems": 60,
    "proxy": {
        "useApifyProxy": True,
        "apifyProxyGroups": ["RESIDENTIAL"],
        "apifyProxyCountry": "JP",
    },
}

# Run the Actor and wait for it to finish
run = client.actor("delectable_incubator/klook-search-scraper-low-cost").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print(f"💾 Check your data here: https://console.apify.com/storage/datasets/{run.default_dataset_id}")
for item in client.dataset(run.default_dataset_id).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "target_urls": [
    {
      "url": "https://www.klook.com/search/result/?query=tokyo&search_scope=main_search&sort=most_relevant&tab_key=0&start=1"
    },
    {
      "url": "https://www.klook.com/search/result/?query=tokyo&search_scope=main_search&sort=most_relevant&tab_key=54&start=1"
    }
  ],
  "maxitems": 60,
  "proxy": {
    "useApifyProxy": true,
    "apifyProxyGroups": [
      "RESIDENTIAL"
    ],
    "apifyProxyCountry": "JP"
  }
}' |
apify call delectable_incubator/klook-search-scraper-low-cost --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "type": "http",
            "url": "https://mcp.apify.com/?tools=fetch-actor-details,delectable_incubator/klook-search-scraper-low-cost"
        }
    }
}

```

The hosted server signs you in with OAuth on first connect, so no API token belongs in this config. Clients without OAuth support can send an `Authorization: Bearer <APIFY_API_TOKEN>` header instead, using a token from API & Integrations in Apify Console (https://console.apify.com/settings/integrations).

## OpenAPI specification

Download the OpenAPI definition: https://api.apify.com/v2/actors/7oRFS1q5p6a75E9Sc/builds/1ds4rYHE9qZ6DyhCz/openapi.json
