Skip to content

Traveloka Reviews Scraper

Try for free

Export Traveloka hotel and activity reviews: paste hotel, tour or ticket links from any Traveloka market. Get the score, translated and original review text, reviewer, trip type, photos, helpful votes, property replies, and the overall rating with hotel category scores. Filter by date, rating, language and content. No login needed.

🏨 Traveloka Reviews Scraper

Export reviews of any Traveloka hotel, resort, tour, attraction or ticket into a clean table: score, review text in your language plus the original, reviewer, trip type, photos, helpful votes and the property's reply. Paste links from any Traveloka market (or just type hotel names), set how many reviews you want, and get JSON, CSV or Excel in seconds. No login, no browser, no cookies to copy.

✨ Why use Traveloka Reviews Scraper?

  • ⚡ Fast — reads Traveloka's own review data directly, 50 reviews per request; 20 reviews from each of two listings in under 10 seconds, 10,000 hotel reviews in about two minutes.
  • 🏨 Hotels and activities — hotels, villas and apartments as well as theme parks, tours, attraction tickets and other Traveloka Xperience products, in one unified table.
  • 🌏 Every market and language — links from en-en, id-id, th-th, vi-vn, en-sg, ja-jp and more; get the review text translated into English, Indonesian, Thai, Vietnamese, Malay, Japanese, Korean or Chinese, with the original text alongside.
  • 🎯 Server-side filters — newest, oldest, most helpful, best or worst rated first; filter by date, rating band, review language and reviews with photos.
  • 📊 Ratings overview included — every row carries the listing's review count, overall rating and, for hotels, the Cleanliness, Room Comfort, Meal, Location and Service scores.
  • 💸 Pay per review — no monthly fee; you only pay for the reviews you save.

🎯 Use cases

  • 🏨 Hotel reputation monitoring — track new reviews and replies for your property or a portfolio of hotels in Indonesia, Thailand, Vietnam, Malaysia, Singapore or Japan.
  • 🔍 Competitor benchmarking — compare scores, category ratings and complaints across competing hotels or attractions.
  • 🧠 Sentiment analysis and AI datasets — original and translated text side by side, ready for NLP, topic modelling or LLM fine-tuning.
  • 🎢 Tour and attraction research — see what travellers say about theme parks, tours and tickets before you list or price your own product.
  • 📈 Market research — measure review volume and ratings by market, trip type and language across Southeast Asia.

🚀 How to use

  1. Open a hotel or activity on traveloka.com and copy the link from the address bar.
  2. Paste one or more links into Traveloka links, or type hotel names into Hotel names.
  3. Set Maximum reviews per link (0 = all) and, if you like, a sort order and filters.
  4. Click Start and wait a few seconds.
  5. Download the reviews as JSON, CSV, Excel or HTML, or read them through the API.

📥 Input

FieldWhat it does
startUrlsTraveloka hotel links (/hotel/<country>/<name>-<id> or /hotel/detail?spec=...) and activity links (/activities/<country>/product/<name>-<id>), any market. Bare ids work too.
hotelNamesOptional. Hotel names to look up with Traveloka's own search, e.g. ibis Bandung Trans Studio (the match is logged).
maxReviewsPerUrlReviews to save per hotel or activity (default 20, 0 = all).
maxReviewsOptional cap for the whole run.
sortBynewest, oldest, mostHelpful, highestRating or lowestRating.
reviewsNewerThanOnly reviews from this date on (2026-01-01) or a period like 90 days.
ratingFilterOne of Traveloka's rating bands: all, exceptional (9 and up), veryGood (about 8 to 9), pleasant (about 6 to 8), fair (5 to 6), poor (below 5).
reviewLanguageOnly reviews written in en, id, ms, th, vi, ja, ko or zh.
reviewFormatwithText (default), all (also score-only reviews), withMedia, withTextAndMedia.
translateToLanguage of the translated text: auto (the link's market), en, id, ms, th, vi, ja, ko, zh-tw, zh.
includeAggregateRatingsAdd the listing's overall rating and category scores to every row (default on).
{
  "startUrls": [
    { "url": "https://www.traveloka.com/en-en/hotel/indonesia/the-apurva-kempinski-bali-3000020019601" },
    { "url": "https://www.traveloka.com/en-en/activities/japan/product/universal-studios-japan-2000814134443" }
  ],
  "maxReviewsPerUrl": 20,
  "sortBy": "newest",
  "reviewsNewerThan": "2026-01-01",
  "translateTo": "en"
}

📤 Output

One row per review.

FieldDescription
pageId, pageName, pageUrlThe hotel or activity (pageUrl is the link you pasted; empty for hotel names and bare ids)
productTypeHOTEL or EXPERIENCE (activity, tour, ticket)
reviewIdTraveloka review id
reviewerName, reviewerIdReviewer as Traveloka shows them (some names are masked by the site)
reviewTimestampWhen the review was written (ISO 8601, UTC)
reviewScore, reviewMaxScoreScore out of 10
reviewContentTextReview text in the chosen language
reviewOriginalText, translationStatusThe text as written, and whether it was translated
travelPurpose, reviewAdditionalInformationTrip type (Leisure, Business, Family, Staycation, ...) and other labels
reviewMediaUrlsPhotos and videos attached to the review
reactionCountHelpful votes
replierName, reviewReplyText, reviewReplyOriginalText, reviewReplySubmissionTime, reviewReplyTranslationStatusThe property's or operator's reply
reviewProvider, locale, scrapedAtSource, market/language read, time saved
aggregatedReviewListing review count, overall rating, rating label and (hotels) category scores

Example (one hotel review, trimmed):

{
  "pageId": "3000020019601",
  "pageUrl": "https://www.traveloka.com/en-en/hotel/indonesia/the-apurva-kempinski-bali-3000020019601",
  "pageName": "The Apurva Kempinski Bali",
  "productType": "HOTEL",
  "reviewId": "1879455402923405009",
  "reviewerName": "Hassan A.",
  "reviewTimestamp": "2026-10-19T05:39:06.599Z",
  "reviewScore": 10,
  "reviewMaxScore": 10,
  "reviewContentText": "A truly luxurious stay worth experiencing. Thank you to all the staff at the Kempinski Resort from the moment I arrived until my departure; everyone was smiling and welcoming.",
  "reviewOriginalText": "إقامة فاخرة تستحق التجربة ، شكراً لجميع طاقم عمل منتجع كمبنسكي من بداية وصولي وحتى مغادرتي والكل مبتسم ويرحب فيني",
  "translationStatus": "GOOGLE_TRANSLATE",
  "travelPurpose": "Leisure",
  "reviewMediaUrls": [],
  "reactionCount": 0,
  "hasReacted": false,
  "reviewProvider": "TRAVELOKA",
  "replierName": null,
  "reviewReplyText": null,
  "locale": "en-en",
  "aggregatedReview": {
    "count": 1816,
    "overallRating": 9,
    "maxRating": 10,
    "ratingText": "Exceptional",
    "distributions": [
      { "label": "Cleanliness", "rating": 9.4 },
      { "label": "Room Comfort", "rating": 9.4 },
      { "label": "Meal", "rating": 9.1 },
      { "label": "Location", "rating": 9.2 },
      { "label": "Service and Facilities", "rating": 9.3 }
    ]
  }
}

💰 Pricing

You pay $3.50 per 1,000 reviews ($0.0035 per review) plus a small amount of platform usage (compute and proxy traffic), which for this actor is a fraction of a cent per run. For example, 1,000 reviews ≈ $3.50 in review fees plus well under $0.01 of usage. Failed pages, duplicates and rows that are not saved are never charged, and a maximum charge you set for a run is respected.

❓ FAQ

Is it legal to scrape Traveloka reviews? The actor reads only public reviews that any visitor can see without logging in. Reviews contain personal data such as reviewer names, so make sure your use complies with the GDPR and other privacy rules that apply to you, and with Traveloka's terms.

Do I need a Traveloka account, cookies or a proxy? No. No login or cookies are needed. The default datacenter proxy works; if the site ever refuses it, the run switches to Indonesian residential exits on its own.

How many reviews can I get? For hotels, every review Traveloka lists. For activities, Traveloka lets visitors page through 100 reviews per sort order and filter; for larger activities the actor combines sort orders, languages, rating bands and formats to collect as many different reviews as the site shows, which is usually a large share but not always all of them.

Why is a field empty? Fields are empty when Traveloka has no value: many reviews have no reply or photos, some reviewer names are masked, and rating-only reviews have no text (they are skipped unless you choose "All reviews"). Category scores exist for hotels only.

Can I schedule runs or use the API? Yes. Schedule the actor (e.g. daily with "Only reviews newer than: 2 days") to collect new reviews, and start runs or read results through the REST API, webhooks or integrations.

⚠️ Limits

  • Only reviews Traveloka shows publicly; reviews from other providers (e.g. Expedia or Google reviews shown on some pages) are not included.
  • Activity reviews: the site serves 100 reviews per sort and filter combination, so for activities with thousands of reviews the actor returns the reviews it can reach through combinations, not necessarily all of them, and not in one strict order.
  • Hotel lists have no native oldest-first order; the actor reads the list from the end instead, which takes a few extra requests.
  • Category scores (Cleanliness, Room Comfort, ...) are only available for hotels and are labelled in English.
  • hasReacted is always false because nobody is logged in.

Related actors

G2
4.7/5
Excellent
Trustpilot

The internet is full of data.
Start owning yours.

Scrape.ly gives you the infrastructure, the tooling, and the team to extract, process, and operationalize web data at any scale. Setup takes minutes. The advantage lasts forever.

No credit card. No setup calls.