KKday Tours Scraper
Pricing
from $1.70 / 1,000 results
KKday Tours Scraper
[๐ฐ $1.70 / 1K] Extract KKday tours, activities, and experiences at scale โ names, prices (from/original/discount), star ratings, review counts, supplier details, destinations, categories, images, and video clips. Search by destination keyword or paste KKday list, search, and category page URLs.
Pricing
from $1.70 / 1,000 results
Rating
0.0
(0)
Developer
SolidCode
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Pull tours, activities, and experiences from KKday at scale โ names, four-point pricing, star ratings, review counts, suppliers, destinations, image galleries, and promo video clips, localized to 13 markets and 15 currencies. Built for travel-market analysts, OTAs, and affiliate teams who need live KKday activity data without copy-pasting listings by hand.
Why This Scraper?
- 13 markets from one dropdown โ collect listings localized to any of 13 language/market pairs, from English (US, Australia, Singapore, Malaysia, Philippines, Hong Kong) to Traditional and Simplified Chinese, Japanese, Korean, Thai, and Vietnamese.
- Prices in 15 currencies โ return every tour price in USD, EUR, GBP, JPY, TWD, HKD, SGD, KRW, THB, and 6 more, without hand-editing a single URL parameter.
- Four price points per tour โ the "from" price, the original list price, the top-package price, and the discount amount plus its type, so deal-depth and margin analysis work straight out of the dataset.
- Rating, review count, and lifetime orders โ every activity carries its star rating, total number of ratings, and a sold-orders figure (e.g. "300K+") for popularity and demand ranking.
- Supplier and marketplace signals โ operator name, logo, badge, and a marketplace flag on each listing to separate KKday-direct products from third-party sellers.
- Image gallery plus promo video clip โ a full array of product photo URLs and any KKday marketing video URL per tour, ready for catalog and landing-page builds.
- Destination, country, and four tag families โ structured destination names, country, category, plus display tags, activity labels, discount labels, and promotion labels for clean faceting.
- Keyword search built in โ type a destination like "Tokyo" or an activity like "Bali diving" and get results without hand-building a single list URL, or paste KKday search, category, and product-list URLs directly (page numbers respected).
- Unlimited results, deduped โ cap at 100 or lift the limit entirely; pagination never truncates a fetched page and dedups every tour by product ID, so overlapping searches never double-count.
Use Cases
Travel Market Research & Pricing Intelligence
- Benchmark tour and activity prices across cities and countries
- Track discount depth and promotional pricing over time
- Compare "from" prices for the same experience across 15 currencies
- See which categories dominate a destination's inventory
OTA & Affiliate Content
- Populate a travel affiliate site with tour names, images, and live prices
- Build "things to do in [city]" landing pages from category listings
- Keep an activities catalog synced with current KKday pricing and ratings
- Surface top-rated experiences by review count for editorial picks
Competitive & Supplier Intelligence
- Map which suppliers and operators list on KKday in a given market
- Separate marketplace listings from KKday-direct products
- Track a rival destination's activity mix and price bands
Lead Generation & Partnerships
- Build a list of tour operators active on KKday by destination
- Find high-volume experiences (by order count) to approach for partnerships
- Spot suppliers with strong ratings but thin coverage in a city
Data & Analytics
- Feed activity pricing into travel dashboards and BI tools
- Build rating-vs-price scatter analyses per destination
- Localize a market snapshot by pairing language and currency
Getting Started
Search a Single Destination
The simplest run โ one keyword, 50 tours:
{"searchQueries": ["Tokyo"],"maxResults": 50}
Localized Market Snapshot
Pair language and currency to see exactly what a local shopper sees:
{"searchQueries": ["Seoul", "Busan"],"language": "ko","currency": "KRW","maxResults": 200}
From KKday URLs
Paste search and product-list URLs directly โ any page number is respected:
{"startUrls": ["https://www.kkday.com/en/search?keyword=bali","https://www.kkday.com/en-us/product/productlist/Osaka?page=2"],"currency": "USD","maxResults": 300}
Full-Featured Example
{"searchQueries": ["Universal Studios", "Bali diving"],"startUrls": ["https://www.kkday.com/en/search?keyword=singapore"],"language": "en-sg","currency": "SGD","maxResults": 500,"ignoreUrlFailures": true}
Input Reference
What to Scrape
| Parameter | Type | Default | Description |
|---|---|---|---|
searchQueries | string[] | ["Tokyo"] | Destinations, activities, or keywords to search โ such as "Tokyo", "Universal Studios", or "Bali diving". Each term runs its own search. |
startUrls | string[] | [] | KKday listing URLs to scrape directly โ search results, category, or country/city pages. Any page number in the URL is respected. Use instead of, or alongside, search terms. |
Localization
| Parameter | Type | Default | Description |
|---|---|---|---|
language | select | en-us | Market and language for results. 13 options: English (US, Australia, Singapore, Malaysia, Philippines, Hong Kong), Chinese (Traditional, Hong Kong, Simplified), Japanese, Korean, Thai, and Vietnamese. |
currency | select | USD | Currency tour prices are returned in. 15 options including USD, EUR, GBP, JPY, TWD, HKD, SGD, MYR, THB, KRW, and more. |
Limits
| Parameter | Type | Default | Description |
|---|---|---|---|
maxResults | integer | 100 | Maximum tours to return across all searches and URLs. Set to 0 for unlimited. The last page is always collected in full, so a run may return slightly more than this number. |
ignoreUrlFailures | boolean | true | Keep running if a single search term or URL fails, instead of stopping the whole run. |
Output
Each row is one tour, with pricing, ratings, supplier, destinations, and media. Empty fields are omitted rather than padded with nulls, so every row stays clean.
{"productId": "133300","productOid": "20059","name": "SHIBUYA SKY Observation Deck Ticket","introduction": "Take in 360-degree views of Tokyo from the rooftop of Shibuya Scramble Square.","category": "CATEGORY_002","url": "https://www.kkday.com/en/product/133300","currency": "USD","minPrice": 15.5,"officialPrice": 18,"maxPrice": 32,"discount": 14,"discountType": "PERCENT","rating": 4.71,"ratingCount": 14524,"orderCount": "300K+","saleStatus": 1,"earliestSaleDate": "2026-07-12","isTourismProduct": true,"supplierName": "KKday Japan","isMarketplace": false,"isKkdayBestRoute": true,"destinations": ["Shibuya", "Tokyo"],"country": "Japan","displayTags": ["Instant confirmation", "Mobile voucher"],"activityLabels": ["Observation Deck"],"discountLabels": ["14% OFF"],"promotionLabels": ["Summer Sale"],"images": ["https://image.kkday.com/v2/image/shibuya-sky-1.jpg"],"videoClips": ["https://image.kkday.com/v2/clip/shibuya-sky.mp4"],"searchQuery": "Tokyo"}
Identity & Description
| Field | Type | Description |
|---|---|---|
productId | string | KKday product ID, as it appears in the product URL |
productOid | string | KKday's internal product identifier |
name | string | Tour / activity title |
introduction | string | Short product summary |
category | string | KKday category identifier for the product |
url | string | Canonical KKday product URL |
searchQuery | string | The search term or URL that produced this row |
Pricing
| Field | Type | Description |
|---|---|---|
currency | string | Currency code for every price on the row |
minPrice | number | "From" / lowest package price |
officialPrice | number | Original list price before discount |
maxPrice | number | Highest package price |
discount | number | Discount amount or percentage |
discountType | string | How the discount is expressed (e.g. percentage) |
Ratings & Popularity
| Field | Type | Description |
|---|---|---|
rating | number | Average star rating |
ratingCount | number | Total number of ratings / reviews |
orderCount | string | Sold-orders label (e.g. "300K+") |
saleStatus | number | Current sale status of the product |
earliestSaleDate | string | Earliest available booking date |
purchaseType | number | Purchase-type indicator |
isTourismProduct | boolean | Whether the item is classed as a tourism product |
Supplier
| Field | Type | Description |
|---|---|---|
supplierName | string | Operator / supplier name |
supplierLogo | string | Supplier logo image URL |
supplierBadge | string | Supplier badge indicator |
isMarketplace | boolean | Whether the listing is a marketplace (third-party) product |
isKkdayBestRoute | boolean | KKday "best route" flag |
Destination & Tags
| Field | Type | Description |
|---|---|---|
destinations | string[] | Destination names attached to the tour |
country | string | Country the tour takes place in |
displayTags | string[] | Display tags shown on the listing card |
activityLabels | string[] | Activity-type labels |
discountLabels | string[] | Discount / deal labels |
promotionLabels | string[] | Active promotion labels |
Media
| Field | Type | Description |
|---|---|---|
images | string[] | Product image URLs |
videoClips | string[] | Promo video clip URLs |
Tips for Best Results
- Start broad, then narrow. A city or landmark keyword like "Tokyo", "Universal Studios Singapore", or "Bali diving" returns the widest inventory; add a modifier to tighten the set.
- Pair language and currency for a true market snapshot. Set
languagetojaandcurrencytoJPYto capture exactly what a Japanese shopper sees, including local pricing and destination names. - Paste filtered category or search URLs for exhaustive coverage. A KKday category or search URL that carries a keyword, category, or destination filter pulls far more of a destination's catalog than a single keyword search โ the power-user route to a complete city inventory.
- Page numbers in a pasted URL are honored. End a URL with
?page=5to start deep in a result set instead of at page one. - Use
maxResults: 0for a full destination sweep, or keep it at 50โ100 for a quick, low-cost sample before scaling up. categoryreturns KKday's internal category code โ map it once against your own labels if you need human-readable category names.- Rows omit empty fields. Supplier name, logo, and country appear only on tours where KKday publishes them, so absent fields mean "not provided by KKday," not a scraping gap.
Pricing
From $1.70 per 1,000 results โ undercuts the going market rate for KKday activity extraction, with no compute or time-based charges. You pay per result, plus a small fixed per-run start fee. Bronze, Silver, and Gold subscribers pay progressively less; the table below shows the total cost at each discount tier.
| Results | No discount | Bronze | Silver | Gold |
|---|---|---|---|---|
| 100 | $0.20 | $0.19 | $0.18 | $0.17 |
| 1,000 | $2.00 | $1.90 | $1.80 | $1.70 |
| 10,000 | $20.00 | $19.00 | $18.00 | $17.00 |
| 100,000 | $200.00 | $190.00 | $180.00 | $170.00 |
A "result" is one tour row in the output dataset. Platform fees (compute, storage) are additional and depend on your Apify plan.
Integrations
Export data in JSON, CSV, Excel, XML, or RSS. Connect to 1,500+ apps via:
- Zapier / Make / n8n โ Workflow automation
- Google Sheets โ Direct spreadsheet export
- Slack / Email โ Notifications on new results
- Webhooks โ Trigger custom APIs on run completion
- Apify API โ Full programmatic access
Legal & Ethical Use
This actor is designed for legitimate travel market research, competitive analysis, catalog building, and partnership prospecting. Users are responsible for complying with applicable laws and KKday's terms of service, including making reasonable-rate requests and respecting content usage rules for any listings and media linked from KKday. Do not use extracted data for spam, harassment, or any illegal purpose.