Trip.com Hotels Scraper avatar

Trip.com Hotels Scraper

Pricing

Pay per usage

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

Pay per usage

Rating

0.0

(0)

Developer

Shahid Irfan

Shahid Irfan

Maintained by Community

Actor stats

0

Bookmarked

5

Total users

3

Monthly active users

2 days ago

Last modified

Share

Collect Trip.com hotel search results with hotel names, room offers, review scores, star ratings, map coordinates, and live pricing. Provide a Trip.com hotel search URL and the actor derives the request context directly from it.

Features

  • Hotel search extraction — Capture listings directly from Trip.com hotel search result pages
  • Price and room coverage — Collect headline room names, live display prices, deleted prices, and currencies
  • Review insights — Save review score, review summary, review count text, and sub-score breakdowns
  • Location context — Keep city, address, area description, zones, and map coordinates together
  • Lean dataset output — Empty and null fields are removed before records are saved

Use Cases

Travel Research

Build accommodation shortlists for a city and compare ratings, room names, and displayed prices across many hotels in one run.

Pricing Intelligence

Monitor price shifts for a destination and store snapshots for trend analysis, alerts, or reporting workflows.

Market Comparison

Compare hotel categories, review performance, and location positioning across neighborhoods or travel dates.

Content Enrichment

Populate internal travel dashboards, destination guides, or search indexes with structured hotel listing data.

Input Parameters

ParameterTypeRequiredDefaultDescription
startUrlStringYesNoneTrip.com hotel search URL used as the source of destination, dates, guest settings, and currency
results_wantedIntegerNo20Maximum number of hotel records to save
max_pagesIntegerNo3Safety cap for paginated requests
proxyConfigurationObjectNo{"useApifyProxy": false}Optional proxy settings for repeated or blocked runs

Output Data

Each dataset item can contain:

FieldTypeDescription
hotelIdStringTrip.com hotel identifier
masterHotelIdStringMaster hotel identifier
hotelTypeStringHotel type label returned by Trip.com
hotelNameStringDisplayed hotel name
hotelNameEnStringEnglish hotel name
hotelCategoryStringCategory such as hotel or apartment
starRatingNumberStar category
reviewScoreNumberHeadline review score
reviewDescriptionStringReview sentiment label
reviewCountNumberParsed review count
reviewCountTextStringOriginal review count text
featuredReviewStringShort featured review sentence
reviewSubScoresArraySub-score breakdowns such as cleanliness or location
cityIdNumberDestination city identifier
cityNameStringDestination city name
countryIdNumberCountry identifier
provinceIdNumberProvince identifier
addressStringAddress or area label
positionDescriptionStringTrip.com location summary
positionHighlightsArrayNearby area highlights
zoneNamesArrayZone names returned by Trip.com
latitudeNumberPrimary latitude
longitudeNumberPrimary longitude
imageUrlStringMain hotel image
imageUrlsArrayAdditional hotel images
hotelDetailUrlStringTrip.com hotel detail page
roomIdStringRoom identifier
roomNameStringHeadline room name
roomTypeStringRoom result type
roomQuantityNumberRoom quantity in the offer
displayPriceStringFormatted price shown on the listing
priceNumberNumeric price value
currencyStringCurrency code
originalPriceNumberDeleted price before discount
originalDisplayPriceStringDeleted price as displayed text
priceExplanationStringTotal price explanation from the listing
payTypeNumberPayment type returned by Trip.com
checkInStringCheck-in date in compact format
checkOutStringCheck-out date in compact format
freeCancellationBooleanWhether free cancellation is shown
advantageTagsArrayAdvantage tag titles
promotionTagsArrayPromotion tag titles
discountTagsArrayDiscount tag titles
encourageTagsArrayUrgency tag titles
resultPageNumberResult page number
positionOnPageNumberApproximate result position
searchUrlStringSearch URL used for the request
fetchedAtStringISO timestamp when the record was saved

Usage Examples

Basic Extraction

Collect the first 20 hotels from the provided Trip.com search URL:

{
"startUrl": "https://us.trip.com/hotels/list?city=228&provinceId=0&countryId=78&checkIn=2026-05-18&checkOut=2026-05-30&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
}

Extended Collection

Increase the cap and enable a proxy configuration for larger production runs:

{
"startUrl": "https://us.trip.com/hotels/list?city=228&provinceId=0&countryId=78&checkIn=2026-05-18&checkOut=2026-05-30&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": 60,
"max_pages": 4,
"proxyConfiguration": {
"useApifyProxy": true
}
}

Sample Output

{
"hotelId": "994584",
"masterHotelId": "994584",
"hotelType": "NORMAL",
"hotelName": "Sunshine City Prince Hotel Ikebukuro Tokyo(Sunshine City Prince Hotel Ikebukuro Tokyo)",
"hotelNameEn": "Sunshine City Prince Hotel Ikebukuro Tokyo",
"hotelCategory": "Hotel",
"starRating": 4,
"reviewScore": 9,
"reviewDescription": "Great",
"reviewCount": 3359,
"reviewCountText": "3,359 reviews",
"featuredReview": "The hotel has an excellent location with an airport shuttle conveniently available right at the entrance.",
"cityId": 228,
"cityName": "Tokyo",
"countryId": 78,
"provinceId": 0,
"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",
"roomId": "1399464744",
"roomName": "City Floor Semi Double Room (17th-24th Floor)",
"displayPrice": "PKR 47,784",
"price": 47784,
"currency": "PKR",
"originalPrice": 50856,
"originalDisplayPrice": "PKR 50,856",
"priceExplanation": "Total price: PKR 631,977\n1 room x 12 nights incl. taxes and fees\nAdditional charges may apply",
"freeCancellation": true,
"advantageTags": [
"Free Cancellation"
],
"promotionTags": [
"Special Discount"
],
"discountTags": [
"6% off"
],
"resultPage": 1,
"positionOnPage": 1,
"searchUrl": "https://us.trip.com/hotels/list?city=228&provinceId=0&countryId=78&checkIn=2026-05-18&checkOut=2026-05-30&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-04-13T00:00:00.000Z"
}

Tips for Best Results

Use A Working Search URL

  • Start from a Trip.com hotel result URL that already shows the destination and dates you want
  • Keep the stay details inside the URL accurate because the actor derives its request context from that URL

Keep Runs Fast

  • Start with results_wanted: 20 for validation and QA-friendly checks
  • Increase max_pages only when you need deeper pagination

Use Currency Intentionally

  • Use a search URL that already contains the currency you want reflected in the saved price fields
  • Keep the same currency across comparison runs for cleaner downstream analysis

Use Proxies When Needed

  • Larger or repeated production runs can benefit from proxyConfiguration
  • If a destination gets inconsistent responses, retry with Apify Proxy enabled

Integrations

  • Google Sheets — Export hotel prices and ratings for side-by-side comparison
  • Airtable — Build searchable accommodation databases
  • Make — Trigger downstream travel workflows automatically
  • Zapier — Send hotel snapshots into business tools
  • Webhooks — Forward structured search results to internal systems

Export Formats

  • JSON — For APIs, warehouses, and engineering workflows
  • CSV — For spreadsheet analysis
  • Excel — For travel ops and reporting teams
  • XML — For custom integrations

Frequently Asked Questions

Does the actor need a Trip.com hotel search URL?

Yes. The actor is designed to derive destination, dates, guest counts, and currency directly from a Trip.com hotel search URL.

Does it collect prices in other currencies?

Yes. Use a Trip.com search URL that already includes the currency you want, such as barCurr=PKR.

Does the dataset include empty fields?

No. Empty strings, null values, empty arrays, and empty objects are removed before each record is saved.

How many hotels can I collect?

You can collect as many as the search result pagination provides, constrained by your results_wanted and max_pages settings.

How is deep pagination kept stable?

The actor keeps Trip.com's search session alive across requests, which prevents older result blocks from repeating on deeper pages.

Does it include ratings and room details?

Yes. The output includes review score, review text, star category, room name, pricing fields, and offer tags when Trip.com returns them.

Support

For issues or feature requests, use the Apify Console issue channel for this actor.

Resources

This actor is intended for legitimate data collection, travel research, and automation workflows. Users are responsible for complying with website terms and applicable laws in their jurisdiction.