Trip Hotel Listings Extractor avatar

Trip Hotel Listings Extractor

Pricing

from $3.99 / 1,000 results

Go to Apify Store
Trip Hotel Listings Extractor

Trip Hotel Listings Extractor

Trip.com hotel scraper that pulls names, star ratings, review scores, prices, room info, and images for any city and stay dates, so travel and SEO teams get clean structured data without opening a browser.

Pricing

from $3.99 / 1,000 results

Rating

0.0

(0)

Developer

Kawsar

Kawsar

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

๐Ÿจ Trip Hotel Listings Extractor

Pull structured hotel data from Trip.com in one run. Give the actor a city, a check-in date, and a check-out date, and it returns a clean JSON dataset with hotel names, star ratings, review scores, prices per night, total prices, room details, promo tags, nearby landmarks, and image URLs.

Built for SEO teams, travel bloggers, price-monitoring platforms, and lead-generation workflows that need reliable hotel data without a browser.

โœจ Features

  • Zero setup. Just enter city, dates, and go.
  • Clean structured output. Each hotel is one flat JSON row, ready for a spreadsheet, database, or dashboard.
  • Numeric prices. Both display strings and parsed numeric values, in the currency you choose.
  • Handles discounts. Original price, sale price, and total with taxes are all captured separately.
  • Deep pagination. Cycles multiple sort orders behind the scenes to pull as many unique hotels as Trip.com exposes for the query.
  • 12 supported currencies. USD, EUR, GBP, HKD, JPY, SGD, AUD, CAD, CNY, INR, THB, KRW.
  • Multi-guest search. Configure adults, children, and room count.
  • Rich metadata. Star rating, review score, review count, nearby landmarks, highlight tags, and up to 5 image URLs per hotel.
  • Built-in bypass infrastructure. No proxy setup, no captchas, no browser needed.
  • Safe defaults. Per-item error handling means one bad hotel never crashes the run.

๐ŸŽฏ Use cases

WhoWhat they use it for
SEO agenciesPopulate travel landing pages with fresh hotel inventory
Travel bloggersAuto-generate "top hotels in [city]" round-ups
Price monitorsTrack competitor rates across destinations and dates
OTA marketersBenchmark against Trip.com pricing and availability
Travel agenciesEnrich CRM records with hotel metadata for outbound campaigns
Data teamsFeed a hotel data warehouse with daily snapshots
Affiliate sitesBuild price-comparison widgets with real Trip.com data

๐Ÿ“ฅ Input schema

FieldTypeRequiredDefaultDescription
cityIdintegerโœ… yesโ€”Trip.com internal city ID (see below)
checkInstringโœ… yesโ€”Check-in date in YYYY-MM-DD format
checkOutstringโœ… yesโ€”Check-out date in YYYY-MM-DD format
adultsintegerno2Adult guests per room (1 to 10)
childrenintegerno0Children per room (0 to 10)
roomsintegerno1Number of rooms (1 to 10)
currencystringnoUSDCurrency code
maxItemsintegerno10Max unique hotels to return (1 to 1000)
requestTimeoutSecsintegerno180Per-request timeout in seconds

Supported currencies: USD, EUR, GBP, HKD, JPY, SGD, AUD, CAD, CNY, INR, THB, KRW


๐Ÿ“ค Output fields

Each dataset record contains:

Identity

  • hotelId โ€” Trip.com internal hotel ID
  • hotelName โ€” Hotel display name
  • hotelUrl โ€” Direct Trip.com detail page URL

Ratings

  • starRating โ€” Star classification (1 to 5)
  • reviewScore โ€” Guest review score (out of 10)
  • reviewCount โ€” Number of guest reviews

Pricing

  • pricePerNight โ€” Current per-night price (numeric)
  • originalPrice โ€” Pre-discount price if a promo is active (numeric, nullable)
  • totalPrice โ€” Total including taxes and fees (numeric)
  • currencyCode โ€” Currency of prices
  • pricePerNightText โ€” Raw display string
  • totalPriceText โ€” Raw display string with promo details

Room details

  • roomName โ€” Featured room type
  • bedInfo โ€” Bed configuration
  • promoTag โ€” Availability or promo tag (for example "Only 5 left at this price")

Location and highlights

  • nearbyLandmarks โ€” Array of nearby stations and points of interest
  • highlightTags โ€” Array of hotel selling points

Images

  • primaryImage โ€” First image URL
  • imageUrls โ€” Up to 5 image URLs

Search context

  • searchCityId, checkInDate, checkOutDate, adults, children, rooms
  • sortOrder โ€” Which sort order surfaced this hotel
  • pageIndex โ€” Which page of that sort order
  • scrapedAt โ€” ISO 8601 UTC timestamp

๐Ÿ’ก Example input

{
"cityId": 58,
"checkIn": "2026-08-15",
"checkOut": "2026-08-16",
"adults": 2,
"children": 0,
"rooms": 1,
"currency": "USD",
"maxItems": 10
}

๐Ÿ“Š Example output

{
"hotelId": "436852",
"hotelName": "The Charterhouse Causeway Bay",
"hotelUrl": "https://www.trip.com/hotels/detail/?hotelId=436852",
"starRating": 3,
"reviewScore": 8.0,
"reviewCount": 6242,
"pricePerNight": 77.0,
"originalPrice": null,
"totalPrice": 87.0,
"currencyCode": "USD",
"pricePerNightText": "US$77",
"totalPriceText": "US$77 Total (incl. taxes & fees): US$87",
"roomName": "Superior Room",
"bedInfo": "1 queen bed or 2 single beds",
"promoTag": "Only 5 left at this price",
"nearbyLandmarks": [
"Near Causeway Bay Metro Station",
"Hong Kong Convention and Exhibition Centre"
],
"highlightTags": ["Vintage vibes", "Delicious breakfast", "Cafe"],
"primaryImage": "https://ak-d.tripcdn.com/images/0586m12000sp0g74iA4BD_R_600_600_R5_D.jpg_.webp",
"imageUrls": [
"https://ak-d.tripcdn.com/images/0586m12000sp0g74iA4BD_R_600_600_R5_D.jpg_.webp",
"https://ak-d.tripcdn.com/images/0223612000at70vm77662_R_600_600_R5_D.jpg_.webp"
],
"searchCityId": 58,
"checkInDate": "2026-08-15",
"checkOutDate": "2026-08-16",
"adults": 2,
"children": 0,
"rooms": 1,
"sortOrder": "default",
"pageIndex": 1,
"scrapedAt": "2026-08-14T12:34:56.789012+00:00"
}

๐ŸŒ How to find a city ID

  1. Open trip.com/hotels and search your target destination.
  2. Look at the URL of the results page, for example:
    https://www.trip.com/hotels/list?city=58&provinceId=0&countryId=1&...
  3. Copy the value after city=. That's your cityId.

Common city IDs:

CityCountrycityId
Hong KongChina58
BangkokThailand359
TokyoJapan553
SingaporeSingapore73
LondonUnited Kingdom732
New YorkUnited States429
ParisFrance760
DubaiUnited Arab Emirates2247
Kuala LumpurMalaysia276
SeoulSouth Korea538

โ“ FAQ

Q: Why do I sometimes get fewer hotels than maxItems? Trip.com only exposes a limited pool of hotels through its public search page for any given query. The actor exhausts every practical sort order and pagination depth. If you need more, split the search into multiple date ranges or add district-level filters manually.

Q: Are prices real-time? Yes. Prices reflect what Trip.com shows at scrape time for the exact search you configured. Prices change frequently based on demand, currency, and stay length.

Q: Can I scrape multiple cities in one run? Not in a single run. Start one run per cityId. Use Apify Schedules or the API to automate a batch across many cities.

Q: Does this include hotel reviews? No. This actor extracts listing-page data only (aggregate review score and count). For full review text, consider a dedicated Trip.com review scraper actor.

Q: What if a hotel's price fails to parse? The numeric pricePerNight / totalPrice fields fall back to null, and the raw display strings are always available in pricePerNightText / totalPriceText.

Q: Can I use the extracted data commercially? Data is scraped from public Trip.com listings. Consult Trip.com's Terms of Service and your local regulations before commercial use.


๐Ÿš€ Get started

  1. Click Try for free on the actor page.
  2. Set your cityId, checkIn, and checkOut.
  3. Run.
  4. Download the dataset as JSON, CSV, Excel, or push to your own storage via the Apify API.

Happy scraping. ๐Ÿจโœจ