# Trip.com Scraper: Hotel Prices, Details and Reviews

> Trip.com scraper: get hotel prices for a place and dates with taxes, ratings, addresses and coordinates. Also hotel details and guest reviews. No login.

URL: https://cliqtomedia.com/actors/trip-com-scraper/

Category: Real estate, travel & cars · Status: coming soon · Apify profile: https://apify.com/cliqtomedia?fpr=cliqto

Get Trip.com hotels for a place and dates. Each row has the nightly price, total with taxes, rating, address and coordinates. You can also read hotel details and guest reviews.

## How to use it: 3 steps

1. **Follow us on Apify.** The tool is built and waits in the queue for the Apify Store. Apify is the cloud platform where our tools run.
2. **Paste your input and press Start.** No code needed: you fill in a form (the input). It already has a working example. For example: `hotels` in What to collect. Each start is one run.
3. **Download the results.** When the run ends, the results are in a table (the dataset). Open Output, press Export and pick Excel or CSV. JSON and the API are there too.

## What it does

Trip.com Hotels Prices Scraper reads Trip.com hotel search results and hotel pages and gives you prices for your dates, with taxes, ratings, addresses and coordinates. No login.

- Hotels with prices (`hotels`): lists hotels for a place and dates, with the nightly price, the total with taxes, the rating and the room. It also opens each hotel page for the address, description, amenities and check-in times, at no extra charge.
- Hotel details (`hotelDetails`): reads exact hotels by ID or link. These rows have no price.
- Guest reviews (`reviews`): collects reviews of exact hotels, with score, text, date and traveler type.

### Good for

- Comparing hotel rates between cities, areas or dates.
- Tracking price changes for one place and fixed dates.
- Building a list of hotels with coordinates and addresses for a map or a database.
- Collecting guest reviews of hotels you already know.

## Price

Prices will be shown after release.

## Questions

### Do I need a Trip.com account?

No. The tool reads public pages with no login.

### Can it book rooms or read flights?

No. It does not book rooms, read data behind a login or cover flights.

### Why do I get fewer hotels than I asked for?

Hotels you cannot book for your dates are skipped. Turn on Include unavailable to keep them.

### How many hotels can I get?

It depends on what Trip.com shows for the place. The largest checked run saved 700 hotels. Tokyo's list held about 1950 to 2170 when read to the end. Two New York runs asked for 700 and saved 551 and 601, because the rest could not be booked for those dates. See Limits.

### How fresh are the prices?

They are read during your run. `fetchedAt` holds the time of each row. Prices can change later, and the final price is on the Trip.com page in `url`.

### Are the prices with taxes?

`price` is usually before taxes. `totalPriceWithTaxes` is the total for all rooms and nights with taxes and fees, as Trip.com shows it. `priceNote` keeps the words of the source.

### Can it read all reviews of a hotel?

The setting allows up to 5000 per hotel, and the largest checked read was 100. The list is limited by what Trip.com shows, by `maxReviewsPerHotel` and by `maxPages`.

## Data fields

- `type` (string): hotel or review.
- `hotelId` (string): Trip.com hotel number.
- `masterHotelId` (string): Main hotel number on Trip.com.
- `name` (string): Hotel name in the chosen language.
- `nameEn` (string): Hotel name in English, when the source gives one.
- `category` (string): Property type, like Hotel or Resort.
- `stars` (number): Star rating. Null when the source has none.
- `rating` (number): Guest score, or the score of the review.
- `ratingText` (string): Score in words, like Great.
- `ratingScale` (number): Top of the score scale, usually 10.
- `reviewsCount` (number): Number of reviews.
- `subScores` (array): Scores by aspect, like cleanliness.
- `price` (number): Price per room and night as shown, usually before taxes. Null when the market shows only a total.
- `currency` (string): Currency of the prices.
- `priceText` (string): Price as the site shows it.
- `totalPriceWithTaxes` (number): Total for all rooms and nights with taxes and fees.
- `priceNote` (string): The site's note about taxes and fees, word for word.
- `originalPrice` (number): Crossed-out price before the discount.
- `freeCancellation` (boolean): Whether the shown rate has free cancellation.
- `dealTags` (array): Deals on the rate, like 37% off.
- `reviewTags` (array): Short phrases from guest reviews.
- `featuredReview` (string): Sentence from a guest review shown on the list.
- `address` (string): Street address from the hotel page.
- `postalCode` (string): Postal code.
- `addressRegion` (string): Region or prefecture.
- `country` (string): Country.
- `district` (string): Area of the city.
- `location` (string): Area and nearest place as the site words it.
- `lat` (number): Latitude in WGS84.
- `lng` (number): Longitude in WGS84.
- `cityId` (number): Trip.com city number.
- `countryId` (number): Trip.com country number.
- `cityName` (string): City.
- `isAd` (boolean): True for a paid place in the list.
- `status` (string): Hotel status as the site's button words it.
- `isAvailable` (boolean): True when the hotel has a rate you can book for these dates. False when sold out or no rate. Null in hotelDetails mode.
- `imageUrl` (string): Hotel photo link.
- `roomName` (string): Room of the shown rate, or the room of the review.
- `roomId` (string): Room number on Trip.com.
- `bedType` (string): Beds of the shown room.

## Input settings

- `mode` (string): Hotels lists hotels with prices for your dates. Hotel details reads exact hotels by ID or link, without a price. Reviews collects guest reviews of exact hotels.
- `destination` (string): City, area, station or hotel, as you would type it on Trip.com. Example: Tokyo. The matchedPlace field shows what the site searched.
- `extraDestinations` (array): More places in the same run, up to 50.
- `cityIds` (array): Exact Trip.com city numbers, up to 50. The number is the city part of a list link, for example 228 for Tokyo. Use it when a name is ambiguous.
- `startUrls` (array): Hotel list or hotel page links from trip.com, up to 200. If you leave the date fields empty, the dates in the link are used. Filters in a list link are always used.
- `hotelIds` (array): Exact hotel numbers, up to 500. Example: 704030. The number is in the hotel link after hotel-detail-.
- `checkIn` (string): Arrival date, or a date relative to the run day like 30 days. Empty means 30 days from the run day.
- `checkOut` (string): Departure date, up to 30 nights after check-in. Empty means the day after check-in.
- `adults` (integer): Adults in the whole booking, at least one per room. Empty means the number in a Trip.com link, otherwise 2.
- `rooms` (integer): Number of rooms.
- `childrenAges` (array): One age for each child, 0 to 17, up to 8 children. Example: [5, 9].
- `currency` (string): Currency of the prices.
- `locale` (string): Language of names and the market of the price. en-US gives both the nightly price and the total with taxes. In en-GB, en-AU, de-DE, fr-FR and es-ES the site shows only the total, so the price field stays empty. ja-JP does the same for one-night stays.
- `sortBy` (string): Order of the site's list.
- `starRatings` (array): Keep hotels with these star ratings. Example: [4, 5]. Hotels without stars are left out.
- `minRating` (number): Keep hotels rated at least this, from 0 to 10. Hotels without a rating are left out.
- `minReviews` (integer): Keep hotels with at least this many reviews.
- `minPrice` (number): Per night before taxes, in the chosen currency.
- `maxPrice` (number): Per night before taxes, in the chosen currency.
- `freeCancellation` (boolean): Show hotels and prices with free cancellation. The price becomes the price of that rate.
- `breakfastIncluded` (boolean): Show hotels and prices with breakfast. The price becomes the price of that rate.
- `propertyTypes` (array): Keep only these property types. Empty keeps all.
- `includeSponsored` (boolean): Keep paid places of the list. Such rows have isAd set to true.
- `includeUnavailable` (boolean): Keep hotels that are sold out or have no rate for your dates. Each one is charged as a hotel, and most have no price. Off by default, so you pay only for hotels with a rate.
- `includeHotelDetails` (boolean): Read each hotel page for the full address, description, amenities and check-in time, at no extra charge. Turn it off for a faster run.

## Step by step on Apify

1. In What to collect, keep Hotels.
2. In Destination, type a city or region, for example `Tokyo`.
3. Open Stay. Set the dates, adults and currency.
4. Open Limits. Set Most hotels in the run, for example `10`.
5. Click Start at the bottom of the form.
6. When the run ends, open the Output tab. You get one row per hotel.
7. Click Export to download CSV, JSON or Excel.

## Use cases

| Task | Input | You get | Key fields | Next step |
|---|---|---|---|---|
| Compare rates across cities | `destination`, `extraDestinations`, `checkIn`, `checkOut` | Hotel row | `name`, `price`, `totalPriceWithTaxes`, `currency`, `rating` | Excel or a BI tool through CSV |
| Hotel price alert for fixed dates | `destination`, fixed dates, `stateName` | Changed or new hotel row | `changeType`, `price`, `previousPrice`, `url` | Slack or Notion through `deliveryConnector`, or a schedule with a webhook |
| Map hotels in an area | `destination`, `starRatings`, `includeHotelDetails` | Hotel row | `address`, `lat`, `lng`, `stars`, `amenities` | GIS tool or database through the API |
| Enrich your own hotel list | `hotelIds` or `startUrls` in `hotelDetails` mode | Hotel row without a price | `hotelId`, `name`, `address`, `description`, `checkInTime` | CRM or database through the API |
| Study what guests say | `hotelIds` in `reviews` mode, `reviewsFrom`, `reviewLanguages` | Review row | `rating`, `text`, `reviewDate`, `travelType`, `language` | Text analysis through JSON |

## Tips

- Start with one city and 10 hotels. It takes under a minute.
- Set a monitor name to save only new hotels and changed prices.
- Split large areas into districts or city IDs. One place ends at a limit.

## Limits



- Trip.com shows a limited number of hotels for one place. In tests, Tokyo's list ended at about 1950 to 2170 hotels. Other places end earlier. To get more, split large areas into districts or city IDs.
- Runs above 700 saved hotels were not tested.
- With details, a saved hotel usually takes about 1 to 2 seconds: 100 hotels take about 2 minutes, 300 take 5 to 7 minutes, 700 take 13 to 20 minutes, so allow up to 25. Trip.com sets the pace, so the same run can differ. For a large list, leave time to spare in the timeout.
- Hotels you cannot book for your dates are skipped at no charge, and they sit mostly deep in a list. So a place can end below `maxItems`, and reading past them takes time. In two checks for a single December night, New York had 110 and 132 such hotels in its first 700. Two runs asked for 700 saved 551 and 601 from about 1100 to 1200 checked, in 15 and 26 minutes. Tokyo had 53 and 63 in its whole list. Turn on `includeUnavailable` to keep them.
- The default timeout is 3600 seconds and the default memory is 256 MB, with a maximum of 512 MB. The memory you pick does not change what you pay.
- 30 seconds before the timeout, the Actor stops, saves what it has and ends as `partial` with `DEADLINE`.
- A stay can be up to 30 nights. A check-in date in the past is rejected.
- `minPrice` must not be above `maxPrice`, `minReviewScore` not above `maxReviewScore`, `reviewsFrom` not after `reviewsTo`, and `adults` not below `rooms`.

## Sample result

```json
{
  "type": "hotel",
  "hotelId": "1617121",
  "masterHotelId": "1617121",
  "name": "InterContinental Tokyo Bay",
  "nameEn": "InterContinental Tokyo Bay",
  "category": "Hotel",
  "stars": 5,
  "rating": 9.3,
  "ratingText": "Great",
  "ratingScale": 10,
  "reviewsCount": 1105,
  "subScores": [
    { "name": "Cleanliness", "score": 9.4 },
    { "name": "Amenities", "score": 9.1 },
    { "name": "Location", "score": 9.3 },
    { "name": "Service", "score": 9.3 }
  ],
  "price": 256,
  "currency": "USD",
  "priceText": "$256",
  "totalPriceWithTaxes": 278.39,
  "priceNote": "Total (incl. taxes & fees): $278\nAdditional charges may apply",
  "originalPrice": 265,
  "freeCancellation": false,
  "dealTags": ["Special Discount", "$9 Off"],
  "reviewTags": ["Easy to get around", "Large rooms"],
  "featuredReview": "Exceptional prime location with a direct ocean view.",
  "address": "1 Chome-16-2 Kaigan, Minato Ward, Tokyo, 105-8576, Japan",
  "postalCode": "105-8576",
  "addressRegion": "Tokyo",
  "country": "Japan",
  "amenities": ["Private parking", "Spa", "Gym", "Bar"],
  "checkInTime": "15:00",
  "checkOutTime": "12:00",
  "district": "Tokyo Tower Area",
  "location": "Tokyo Tower Area | Near Hamamatsucho Station",
  "lat": 35.653006,
  "lng": 139.762375,
  "cityId": 228,
  "countryId": 78,
  "cityName": "Tokyo",
  "isAd": false,
  "status": "Check Availability",
  "isAvailable": true,
  "roomName": "1 King Classic River View",
  "roomId": "1552478178",
  "bedType": "1 king bed",
  "detailStatus": "ok",
  "adults": 2,
  "rooms": 1,
  "childrenAges": [],
  "checkIn": "2026-12-07",
  "checkOut": "2026-12-08",
  "destination": "Tokyo",
  "matchedPlace": "Tokyo, Japan",
  "position": 1,
  "url": "https://us.trip.com/hotels/detail/?cityId=228&hotelId=1617121&checkIn=2026-12-07&checkOut=2026-12-08&adult=2&children=0&crn=1&curr=USD&locale=en-US",
  "source": "trip.com",
  "sourceUrl": "https://us.trip.com/hotels/list?city=228&checkin=2026-12-07&checkout=2026-12-08&adult=2&crn=1&curr=USD&locale=en-US"
}
```

## Similar tools

- [Booking.com Scraper: Hotels, Prices, Reviews, No Login](https://cliqtomedia.com/actors/booking-scraper/)
- [Airbnb Scraper: Listings, Prices, Calendar - No Login](https://cliqtomedia.com/actors/airbnb-scraper/)
- [Tripadvisor Scraper: Places, Reviews, Hotel Prices](https://cliqtomedia.com/actors/tripadvisor-scraper/)
- [Google Flights Scraper - Prices & Times, No Login](https://cliqtomedia.com/actors/google-flights-scraper/)
- [99acres & MagicBricks India Property Scraper - No Login](https://cliqtomedia.com/actors/india-property-listings/)
- [Events Scraper: Eventbrite, Meetup & Luma — No Login](https://cliqtomedia.com/actors/events-aggregator/)
