Trip.com Hotels Scraper avatar

Trip.com Hotels Scraper

Pricing

from $1.00 / 1,000 results

Go to Apify Store
Trip.com Hotels Scraper

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

Shahid Irfan

Maintained by Community

Actor stats

2

Bookmarked

36

Total users

4

Monthly active users

18 days ago

Last modified

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.

FieldTypeDescription
hotelIdStringTrip.com hotel identifier
hotelNameStringDisplayed hotel name
hotelCategoryStringCategory such as hotel or apartment
starRatingNumberHotel star category
reviewScoreNumberHeadline review score
reviewDescriptionStringReview sentiment or quality label
reviewCountNumberParsed number of reviews
featuredReviewStringShort featured review sentence
reviewSubScoresArrayCategory score breakdowns, such as cleanliness or location
cityNameStringDestination city name
addressStringHotel address or area label
positionDescriptionStringTrip.com location summary
positionHighlightsArrayNearby location highlights
zoneNamesArrayDestination or neighborhood zone names
latitudeNumberHotel latitude when available
longitudeNumberHotel longitude when available
imageUrlStringMain hotel image URL
hotelDetailUrlStringDirect Trip.com hotel detail URL
roomNameStringHeadline room name
displayPriceStringFormatted price shown by Trip.com
priceNumberNumeric price value
currencyStringPrice currency code
originalPriceNumberOriginal price before a displayed discount
priceExplanationStringTotal price and tax explanation
checkInStringCheck-in date in compact format, such as 20260818
checkOutStringCheck-out date in compact format, such as 20260822
freeCancellationBooleanWhether the offer shows free cancellation
advantageTagsArrayOffer advantages, such as free cancellation
promotionTagsArrayPromotion labels
discountTagsArrayDiscount labels
resultPageNumberResult page number
positionOnPageNumberApproximate position in the full result list
searchUrlStringTrip.com search URL used for the run
fetchedAtStringISO 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

  1. Open Trip.com and create a hotel search with the destination, dates, guests, rooms, and currency you need.
  2. Copy the complete hotel search URL from the browser address bar.
  3. Open this Actor on Apify and paste the URL into startUrl.
  4. Set results_wanted and, if needed, max_pages or proxyConfiguration.
  5. Run the Actor and review the dataset preview.
  6. 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

ParameterTypeRequiredDefaultDescription
startUrlStringYesNoneComplete Trip.com hotel search URL. It supplies the destination, dates, guest settings, rooms, locale, and currency.
results_wantedIntegerNo20Maximum number of unique hotel records to save.
max_pagesIntegerNo3Maximum number of result pages to request. The Actor may raise this value when needed to reach results_wanted.
proxyConfigurationObjectNoNoneOptional 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: 20 before running a larger collection.
  • Keep currency consistent - Use the same barCurr value 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.
FormatUseful for
JSONAPIs, databases, and data pipelines
CSVSpreadsheet analysis and simple imports
ExcelTravel operations and reporting
XMLStructured 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.

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.

For broader hotel market research and cross-platform accommodation comparisons, see these related Actors from Shahid Irfan:

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.

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.