Trip.com Hotels Scraper
Pricing
from $1.00 / 1,000 results
Trip.com Hotels Scraper
Extract real-time hotel listings, prices, reviews & availability from Trip.com. Perfect for travel research, price monitoring & competitive analysis. Get structured data instantly.
Pricing
from $1.00 / 1,000 results
Rating
5.0
(4)
Developer
Shahid Irfan
Maintained by CommunityActor stats
2
Bookmarked
36
Total users
4
Monthly active users
18 days ago
Last modified
Categories
Share
What does Trip.com Hotels Scraper do?
Trip.com Hotels Scraper collects structured hotel search results from Trip.com. Provide a public Trip.com hotel search URL and the Actor uses the destination, stay dates, guest settings, rooms, locale, and currency from that URL. Each dataset item contains hotel identity, ratings, location, images, a room offer, displayed pricing, cancellation information, promotions, and the source search URL.
This Actor is useful for travel research, hotel price monitoring, destination analysis, accommodation comparison, and travel content workflows. Results can be downloaded from Apify in JSON, CSV, Excel, XML, and other supported formats, or sent to downstream tools through integrations and webhooks.
Why use Trip.com Hotels Scraper?
- Create hotel shortlists - Collect hotel names, star ratings, review scores, locations, and room details for a selected destination.
- Compare displayed prices - Keep the price, currency, original price, price explanation, stay dates, and room name together in each record.
- Monitor accommodation markets - Repeat the same search on a schedule and compare price or availability snapshots over time.
- Support travel operations - Export structured records to spreadsheets, databases, dashboards, internal research tools, or AI workflows.
- Control collection size - Set the desired number of hotel records and an optional pagination limit for each run.
- Handle difficult runs - Add Apify Proxy settings when repeated collection or a particular destination needs a proxy.
What data can you extract from Trip.com?
The Actor saves one dataset item per hotel. Room and price fields represent the headline room offer returned with that hotel listing. Fields that Trip.com does not provide are omitted from the saved record.
| Field | Type | Description |
|---|---|---|
hotelId | String | Trip.com hotel identifier |
hotelName | String | Displayed hotel name |
hotelCategory | String | Category such as hotel or apartment |
starRating | Number | Hotel star category |
reviewScore | Number | Headline review score |
reviewDescription | String | Review sentiment or quality label |
reviewCount | Number | Parsed number of reviews |
featuredReview | String | Short featured review sentence |
reviewSubScores | Array | Category score breakdowns, such as cleanliness or location |
cityName | String | Destination city name |
address | String | Hotel address or area label |
positionDescription | String | Trip.com location summary |
positionHighlights | Array | Nearby location highlights |
zoneNames | Array | Destination or neighborhood zone names |
latitude | Number | Hotel latitude when available |
longitude | Number | Hotel longitude when available |
imageUrl | String | Main hotel image URL |
hotelDetailUrl | String | Direct Trip.com hotel detail URL |
roomName | String | Headline room name |
displayPrice | String | Formatted price shown by Trip.com |
price | Number | Numeric price value |
currency | String | Price currency code |
originalPrice | Number | Original price before a displayed discount |
priceExplanation | String | Total price and tax explanation |
checkIn | String | Check-in date in compact format, such as 20260818 |
checkOut | String | Check-out date in compact format, such as 20260822 |
freeCancellation | Boolean | Whether the offer shows free cancellation |
advantageTags | Array | Offer advantages, such as free cancellation |
promotionTags | Array | Promotion labels |
discountTags | Array | Discount labels |
resultPage | Number | Result page number |
positionOnPage | Number | Approximate position in the full result list |
searchUrl | String | Trip.com search URL used for the run |
fetchedAt | String | ISO timestamp when the record was saved |
The reviewSubScores array contains objects with category and score fields when Trip.com provides category-level ratings.
How to scrape Trip.com hotel data
- Open Trip.com and create a hotel search with the destination, dates, guests, rooms, and currency you need.
- Copy the complete hotel search URL from the browser address bar.
- Open this Actor on Apify and paste the URL into
startUrl. - Set
results_wantedand, if needed,max_pagesorproxyConfiguration. - Run the Actor and review the dataset preview.
- Download the results or connect the dataset to your workflow.
The URL must include a city identifier or a Trip.com list-style city slug, plus valid check-in and check-out dates. If the URL contains dates in the past, or a checkout date that is not after check-in, the Actor adjusts the stay to a valid upcoming date range before collecting results.
Input Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
startUrl | String | Yes | None | Complete Trip.com hotel search URL. It supplies the destination, dates, guest settings, rooms, locale, and currency. |
results_wanted | Integer | No | 20 | Maximum number of unique hotel records to save. |
max_pages | Integer | No | 3 | Maximum number of result pages to request. The Actor may raise this value when needed to reach results_wanted. |
proxyConfiguration | Object | No | None | Optional Apify Proxy configuration for repeated or blocked runs, for example {"useApifyProxy": true}. |
Trip.com search settings are read from startUrl. Common URL values include the city, check-in and check-out dates, currency, number of adults, number of children, room count, and locale. Change those settings in Trip.com, then copy the updated URL into the Actor.
Output Data
Every saved dataset item is a hotel record. Empty strings, null values, empty arrays, and empty objects are omitted before saving.
Usage Examples
Basic hotel extraction
Collect the first 20 hotels from a Trip.com search for Tokyo in PKR:
{"startUrl": "https://us.trip.com/hotels/list?city=228&provinceId=0&countryId=78&checkIn=2026-08-18&checkOut=2026-08-22&lat=0&lon=0&districtId=0&barCurr=PKR&searchType=CT&searchValue=undefined&crn=1&adult=2&children=0&searchBoxArg=t&ctm_ref=ix_sb_dl&travelPurpose=0&domestic=false","results_wanted": 20}
Collect more hotels across multiple pages
Request a larger hotel set. The Actor increases the effective page allowance when necessary to reach the requested result count:
{"startUrl": "https://us.trip.com/hotels/list?city=228&provinceId=0&countryId=78&checkIn=2026-08-18&checkOut=2026-08-22&lat=0&lon=0&districtId=0&barCurr=USD&searchType=CT&searchValue=undefined&crn=1&adult=2&children=0&searchBoxArg=t&ctm_ref=ix_sb_dl&travelPurpose=0&domestic=false","results_wanted": 60,"max_pages": 4}
Use a proxy for a repeated run
Enable Apify Proxy when running repeated destination checks or when the source responds inconsistently without a proxy:
{"startUrl": "https://uk.trip.com/hotels/list?city=228&provinceId=0&countryId=78&checkIn=2026-09-05&checkOut=2026-09-08&lat=0&lon=0&districtId=0&barCurr=GBP&searchType=CT&searchValue=undefined&crn=2&adult=2&children=0&searchBoxArg=t&ctm_ref=ix_sb_dl&travelPurpose=0&domestic=false","results_wanted": 40,"max_pages": 3,"proxyConfiguration": {"useApifyProxy": true}}
Sample Output
The following is one representative dataset item. Some fields are omitted when Trip.com does not return them for a listing.
{"hotelId": "994584","hotelName": "Sunshine City Prince Hotel Ikebukuro Tokyo","hotelCategory": "Hotel","starRating": 4,"reviewScore": 9,"reviewDescription": "Great","reviewCount": 3359,"featuredReview": "The hotel has an excellent location with an airport shuttle conveniently available right at the entrance.","reviewSubScores": [{"category": "Location","score": 9.2}],"cityName": "Tokyo","address": "Ikebukuro Commercial","positionDescription": "Near Ikebukuro Commercial | Otsuka Station","zoneNames": ["Ikebukuro Commercial"],"latitude": 35.729534,"longitude": 139.719546,"imageUrl": "https://ak-d.tripcdn.com/images/0226912000ar2syzo655B_R_600_600_R5_D.jpg","hotelDetailUrl": "https://us.trip.com/hotels/detail/?hotelId=994584","roomName": "City Floor Semi Double Room","displayPrice": "PKR 47,784","price": 47784,"currency": "PKR","originalPrice": 50856,"priceExplanation": "Total price: PKR 631,977\n1 room x 4 nights incl. taxes and fees","freeCancellation": true,"advantageTags": ["Free Cancellation"],"promotionTags": ["Special Discount"],"discountTags": ["6% off"],"resultPage": 1,"positionOnPage": 1,"checkIn": "20260818","checkOut": "20260822","searchUrl": "https://us.trip.com/hotels/list?city=228&provinceId=0&countryId=78&checkIn=2026-08-18&checkOut=2026-08-22&lat=0&lon=0&districtId=0&barCurr=PKR&searchType=CT&searchValue=undefined&crn=1&adult=2&children=0&searchBoxArg=t&ctm_ref=ix_sb_dl&travelPurpose=0&domestic=false","fetchedAt": "2026-08-02T10:30:00.000Z"}
Tips for best results
- Copy the complete URL - Include the destination and stay details generated by Trip.com rather than typing a shortened URL by hand.
- Check the dates - Use a future check-in date and a checkout date after check-in. The Actor can repair invalid dates, but the result may then represent a different stay than the one originally requested.
- Start with a small limit - Test with
results_wanted: 20before running a larger collection. - Keep currency consistent - Use the same
barCurrvalue in comparable search URLs so price comparisons remain meaningful. - Review the dataset preview - Trip.com may not publish every field for every hotel, room, or destination.
- Schedule repeat runs - Reuse a consistent URL and result limit for price snapshots, destination monitoring, or reporting.
Integrations and export formats
- Google Sheets - Compare hotel prices, ratings, and locations in a spreadsheet.
- Airtable - Build a searchable accommodation database.
- Make or Zapier - Send new hotel records into business workflows.
- Webhooks - Trigger processing after a run finishes.
- Apify API - Read datasets and automate recurring collection from your own application.
| Format | Useful for |
|---|---|
| JSON | APIs, databases, and data pipelines |
| CSV | Spreadsheet analysis and simple imports |
| Excel | Travel operations and reporting |
| XML | Structured system-to-system exchanges |
Frequently Asked Questions
Does Trip.com Hotels Scraper need a Trip.com hotel search URL?
Yes. Provide a complete Trip.com hotel search URL in startUrl. The URL supplies the destination, dates, guests, rooms, locale, and currency used for the collection.
Can I collect prices in different currencies?
Yes. Create the Trip.com search URL with the currency you need, then pass that URL as startUrl. The saved currency, price, and display price fields reflect the returned offer.
Does the Actor return one record per room?
No. The dataset normally contains one record per hotel with the headline room offer returned for that listing. Room name, quantity, price, cancellation, and offer tags are included when available.
How many hotels can I collect?
Set results_wanted to the maximum number of unique hotel records you want. max_pages limits pagination, but the Actor may increase the effective page allowance when more pages are required to reach your requested result count.
Why are some fields missing?
Fields are missing when Trip.com does not return that information for a particular hotel or offer. Empty values are removed from each dataset item, so this is expected for some listings.
Can I schedule this Actor?
Yes. Schedule repeat runs in Apify Console to collect regular price and listing snapshots for the same destination and dates.
Is it legal to collect Trip.com data?
You are responsible for complying with Trip.com terms, applicable laws, privacy requirements, and any restrictions on how collected data is used. Collect only data you are permitted to access and use.
Related Actors
For broader hotel market research and cross-platform accommodation comparisons, see these related Actors from Shahid Irfan:
- Tripadvisor Hotels Scraper - Collect hotel listings, ratings, review counts, pricing signals, and location data from Tripadvisor.
- Agoda Hotels Scraper ๐จ - Extract Agoda hotel prices, availability, reviews, and room details.
- Booking.com Scraper - Collect Booking.com hotel listings, prices, reviews, availability, and ratings.
- Expedia Hotels Scraper - Extract hotel data from Expedia for travel research and accommodation comparison.
Support
For bugs, missing fields, or feature requests, use the Issues tab on the Actor page and include the input pattern and a run link when possible.
Legal Notice
This Actor is intended for legitimate travel research, accommodation comparison, monitoring, and automation workflows using publicly accessible Trip.com pages. Users are responsible for their collection activity, data handling, and compliance with Trip.com terms and applicable laws.