FactDen

How to Scrape Traveloka Hotel & Activity Reviews (2026 Guide)

Traveloka is Southeast Asia's leading travel platform, with millions of hotel and Xperience activity reviews. There is no public reviews API, so pulling that feedback as data means scraping it. Here is the practical way to get Traveloka reviews as clean JSON or CSV, hotels and activities together, with an English translation on every review.

Why scrape Traveloka reviews?

Hoteliers and OTAs use Traveloka reviews for reputation monitoring and competitor benchmarking; researchers and BI teams use them for guest-sentiment analysis across Indonesia, Thailand, Vietnam, Singapore and Malaysia. Because Traveloka is the SE-Asia market leader, it holds guest feedback that Western OTA scrapers never see.

What data can you get?

Per review: the overall rating on Traveloka's 1-10 scale, the original review text and an English machine translation, trip type (Business, Family, Staycation and more), helpful count, photos, and the property's owner response. Per listing: an aggregate rating, category sub-scores (cleanliness, comfort, food, location, service) and total review count, for both hotels and Xperience activities. Every review row also ships an LLM-ready markdownContent block for RAG pipelines.

Why building your own breaks

The reviews are not in the page HTML; they load from a separate call that rejects anonymous requests, and the review text arrives in the original language. A DIY script stalls on the empty page and leaves you without translations. The maintained actor handles the session, pagination, translation and the activity path for you.

See it in action

The fast way: the FactDen Traveloka Hotel & Activity Reviews Scraper

Open the Traveloka Hotel & Activity Reviews Scraper on Apify, paste a hotel or activity URL, and run. Or call it from Python:

from apify_client import ApifyClient

client = ApifyClient("YOUR_APIFY_TOKEN")
run = client.actor("factden/traveloka-hotel-reviews-scraper").call(run_input={
    "startUrls": ["https://www.traveloka.com/en-en/hotel/indonesia/whiz-prime-balikpapan-3000010002155"],
    "maxReviews": 200,
    "sortBy": "mostRecent",
})
for review in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(review["overallRating"], review["reviewTextTranslated"])

Field dictionary and sample output live in the GitHub repo. Set a fromDate to a sliding window and schedule it to track new reviews and rating changes over time.

What does it cost?

$4 per 1,000 reviews at the base tier, dropping toward $1.50 per 1,000 at volume, plus a negligible $0.00005 per-run start fee, pay per result. New Apify accounts get free platform credit to validate before any spend.

Frequently asked questions

Does Traveloka have a reviews API?
No public one. This scraper is the structured alternative, returning the reviews the page shows as JSON or CSV with no login or API key.
Can it scrape both hotels and activities?
Yes. Paste Traveloka hotel URLs and Traveloka Xperience activity URLs together in one run; both use the same output shape, tagged by productType.
Are non-English Traveloka reviews translated?
Yes. Every review carries the original body plus an English machine translation.

Try the Traveloka Reviews Scraper free on Apify →

See also: Traveloka scraper details · How to scrape Agoda reviews · How to scrape Trip.com & Ctrip reviews