Trip.com Reviews Scraper avatar

Trip.com Reviews Scraper

Pricing

from $1.50 / 1,000 results

Go to Apify Store
Trip.com Reviews Scraper

Trip.com Reviews Scraper

Scrape hotel reviews, ratings, and owner replies from Trip.com by hotel URL or hotel ID.

Pricing

from $1.50 / 1,000 results

Rating

0.0

(0)

Developer

One House

One House

Maintained by Community

Actor stats

0

Bookmarked

4

Total users

1

Monthly active users

a month ago

Last modified

Share

Extract hotel reviews from Trip.com using a hotel page URL or hotel ID.

Ideal for reputation monitoring, competitor analysis, and hospitality data pipelines.

What you get

  • Hotel name, aggregate rating, and review count
  • Review text and title / comment level
  • Rating on Trip.com’s 10-point scale
  • Author name, avatar, and review count
  • Travel date, travel type, and room type
  • Photos and videos (when available)
  • Owner reply text and date
  • Full raw review object for advanced use

How to use

  1. Open this Actor and click Start
  2. Add Trip.com hotel URLs under Hotel URLs, or paste hotel IDs under Hotel IDs
  3. Set Max reviews per hotel (0 = all)
  4. Optionally keep Trip.com reviews only enabled to exclude partner-source mixes
  5. Run and download results from the Dataset tab

Finding the hotel ID

The hotel ID appears in Trip.com hotel URLs, for example:

  • https://www.trip.com/hotels/detail/?hotelId=2509106
  • https://www.trip.com/hotels/.../hotel-detail-2509106/
  • https://tr.trip.com/hotels/.../hotel-detail-2509106.html

Input example

{
"startUrls": [{ "url": "https://www.trip.com/hotels/detail/?hotelId=2509106" }],
"maxReviews": 100,
"nativeOnly": true
}

Output example

Each dataset item is one review:

{
"reviewId": "1864052832",
"hotelId": "2509106",
"hotelName": "Example Hotel",
"title": "Outstanding",
"text": "Great stay, excellent food and service.",
"rating": 10,
"ratingScale": 10,
"authorName": "Guest User",
"publishedAt": "2026-03-03T00:52:50.000Z",
"travelDate": "2026-02-01T00:00:00.000Z",
"travelTypeText": "Family",
"replyText": null,
"source": "tripcom",
"scrapedAt": "2026-07-11T12:00:00.000Z"
}

A hotel summary is also saved in the key-value store as HOTEL_INFO_{hotelId}.

Proxy and blocking

Trip.com sits behind a bot filter that answers unauthenticated API calls with HTTP 430 ("whaleguard block"). This Actor works around it by opening the hotel page first and reusing the resulting cookies for every API call, so a normal run needs no special setup.

If you still see HTTP 430 warnings in the log:

  • Enable Apify Proxy with the RESIDENTIAL group (the default) — datacenter IPs are blocked much faster.
  • Raise Max retries per request; each retry starts a clean session on a new proxy IP.
  • Lower Page size and scrape fewer hotels per run.

A blocked request is retried with exponential backoff on a fresh session. If one hotel stays blocked, the run keeps going and still saves the other hotels; the run only fails when every hotel is blocked.

Tips

  • Use maxReviews to control cost on hotels with many reviews.
  • Ratings on Trip.com use a 1–10 scale (ratingScale: 10).
  • Add multiple hotel URLs in one run to batch scraping.
  • Timestamps have no timezone on Trip.com and are returned as UTC, so results are identical locally and on the platform.

Limitations

  • Only public Trip.com hotel reviews are returned.
  • Some hotels may have fewer native Trip.com reviews than the total count shown on the page.