Trip.com logo

Property & travel · Coming soon

Trip.com Scraper: Hotel Prices, Details and Reviews

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.

Built and tested. Prices will be shown after release.

Coming soon to the Apify StoreFollow us on Apify

What you get, for example

typehotel
hotelId1617121
masterHotelId1617121

How it will work: 3 steps

  1. Follow us on ApifyThe 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 StartNo 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 resultsWhen 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.

This tool is an Apify Actor: a small program that runs on Apify. You can also run it on a schedule, for example every Monday. New to it? Read how it works, step by step and the 8 words you need first.

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.

Who uses it

Travel analysts

Compare hotel rates between cities and dates.

Revenue managers

Track price changes for one place and fixed dates.

Agencies

Build a hotel list with addresses and coordinates.

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.

Details

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
TaskInputYou getKey fieldsNext step
Compare rates across citiesdestination, extraDestinations, checkIn, checkOutHotel rowname, price, totalPriceWithTaxes, currency, ratingExcel or a BI tool through CSV
Hotel price alert for fixed datesdestination, fixed dates, stateNameChanged or new hotel rowchangeType, price, previousPrice, urlSlack or Notion through deliveryConnector, or a schedule with a webhook
Map hotels in an areadestination, starRatings, includeHotelDetailsHotel rowaddress, lat, lng, stars, amenitiesGIS tool or database through the API
Enrich your own hotel listhotelIds or startUrls in hotelDetails modeHotel row without a pricehotelId, name, address, description, checkInTimeCRM or database through the API
Study what guests sayhotelIds in reviews mode, reviewsFrom, reviewLanguagesReview rowrating, text, reviewDate, travelType, languageText analysis through JSON
Tips for better results
  • 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 and good to know
  • 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

For developers

Sample result

One result from a real test run, in JSON. Real values change from run to run. In Excel or CSV each field is a column.

one 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"
}
Data fields (40)
FieldTypeMeaning
typestringhotel or review.
hotelIdstringTrip.com hotel number.
masterHotelIdstringMain hotel number on Trip.com.
namestringHotel name in the chosen language.
nameEnstringHotel name in English, when the source gives one.
categorystringProperty type, like Hotel or Resort.
starsnumberStar rating. Null when the source has none.
ratingnumberGuest score, or the score of the review.
ratingTextstringScore in words, like Great.
ratingScalenumberTop of the score scale, usually 10.
reviewsCountnumberNumber of reviews.
subScoresarrayScores by aspect, like cleanliness.
pricenumberPrice per room and night as shown, usually before taxes. Null when the market shows only a total.
currencystringCurrency of the prices.
priceTextstringPrice as the site shows it.
totalPriceWithTaxesnumberTotal for all rooms and nights with taxes and fees.
priceNotestringThe site's note about taxes and fees, word for word.
originalPricenumberCrossed-out price before the discount.
freeCancellationbooleanWhether the shown rate has free cancellation.
dealTagsarrayDeals on the rate, like 37% off.
reviewTagsarrayShort phrases from guest reviews.
featuredReviewstringSentence from a guest review shown on the list.
addressstringStreet address from the hotel page.
postalCodestringPostal code.
addressRegionstringRegion or prefecture.
countrystringCountry.
districtstringArea of the city.
locationstringArea and nearest place as the site words it.
latnumberLatitude in WGS84.
lngnumberLongitude in WGS84.
cityIdnumberTrip.com city number.
countryIdnumberTrip.com country number.
cityNamestringCity.
isAdbooleanTrue for a paid place in the list.
statusstringHotel status as the site's button words it.
isAvailablebooleanTrue when the hotel has a rate you can book for these dates. False when sold out or no rate. Null in hotelDetails mode.
imageUrlstringHotel photo link.
roomNamestringRoom of the shown rate, or the room of the review.
roomIdstringRoom number on Trip.com.
bedTypestringBeds of the shown room.
Input settings (25)

The main fields of the input form. With the API you send them as JSON.

SettingName in the APITypeExample value
What to collectmodestring"hotels"
Destinationdestinationstring"Tokyo"
More destinationsextraDestinationsarray
City IDscityIdsarray
Trip.com linksstartUrlsarray
Hotel IDshotelIdsarray
Check-in datecheckInstring"30 days"
Check-out datecheckOutstring"31 days"
Adultsadultsinteger
Roomsroomsinteger1
Children's ageschildrenAgesarray
Currencycurrencystring"USD"
Language and marketlocalestring"en-US"
Sort bysortBystring"recommended"
StarsstarRatingsarray
Lowest guest ratingminRatingnumber
Fewest reviewsminReviewsinteger
Lowest nightly priceminPricenumber
Highest nightly pricemaxPricenumber
Free cancellation onlyfreeCancellationbooleanfalse
Breakfast included onlybreakfastIncludedbooleanfalse
Property typespropertyTypesarray
Keep sponsored placesincludeSponsoredbooleantrue
Keep hotels you cannot bookincludeUnavailablebooleanfalse
Add address and detailsincludeHotelDetailsbooleantrue

Start on Apify

Make a free Apify account: you get $5 of free usage every month. Missing a tool? Suggest it. We read every idea, but we do not promise to build it.

Apify links on this page are affiliate links. We may earn a commission. You pay the same price. Affiliate disclosure