klook_search
Search Klook travel activities and experiences by free-text query, destination city or category and return one page of normalized activity cards with activity id, title, canonical URL, price display strings, rating, review count, sold-out state and tags, plus the upstream total and current destination. Provide at least one of query, city_id or category_id: a free-text query runs Klook keyword search and can be combined with a city_id from klook_destinations or klook_suggest and a category_id from klook_categories, while a request without query browses that destination or category listing; a query with no matches returns an empty list, not an error. sort reorders the same result set, price_min and price_max must be supplied together, and page/per_page select the 1-based window with per_page from 1 to 50. Klook caps total at 10000 for broad queries, so treat it as a floor rather than a corpus size, and an empty activities list is a valid result. Use klook_activity with a returned activity_id for one card, or klook_suggest when you only need to resolve a name.
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "klook_search"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| poi | No | Optional Klook point-of-interest key from /klook/search/filters (des_id_list group), format p<digits>. Browse only: rejected together with query. | |
| page | No | 1-based result page. Defaults to 1. | |
| sort | No | Result ordering. One of recommended, bestselling, top_rated, price_low_to_high, newest. Defaults to recommended. | |
| query | No | Free-text activity search. At least one of query, city_id or category_id is required. Omit to browse a destination or category listing. | |
| city_id | No | Klook city id from /klook/destinations or /klook/suggest. Filters results to that destination. | |
| end_date | No | Optional latest participation date in RFC 3339 form, e.g. 2026-12-05T00:00:00Z. | |
| per_page | No | Results per page, 1-50. Defaults to 20. | |
| price_max | No | Optional maximum price in the response currency. | |
| price_min | No | Optional minimum price in the response currency. Must not exceed price_max. | |
| start_date | No | Optional earliest participation date in RFC 3339 form, e.g. 2026-12-01T00:00:00Z. Must not be after end_date. | |
| category_id | No | Klook category id from /klook/categories. Narrows results to that category and its children. | |
| duration_tag | No | Optional duration-bucket id from /klook/search/filters (duration_tag group). | |
| interest_tag | No | Optional interest/topic id from /klook/search/filters (interest_tag group). Only valid when browsing a city or category, not with a free-text query. | |
| service_lang_tag | No | Optional guided-language id from /klook/search/filters (service_lang_tag group). | |
| other_filters_tag | No | Optional service/feature id from /klook/search/filters (other_filters_tag group). |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | The tool result payload (shape varies per tool; see each tool's docs resource). |