Trip Hotel Listings Extractor
Under maintenancePricing
from $3.99 / 1,000 results
Trip Hotel Listings Extractor
Under maintenanceTrip.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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
7 days ago
Last modified
Categories
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
| Who | What they use it for |
|---|---|
| SEO agencies | Populate travel landing pages with fresh hotel inventory |
| Travel bloggers | Auto-generate "top hotels in [city]" round-ups |
| Price monitors | Track competitor rates across destinations and dates |
| OTA marketers | Benchmark against Trip.com pricing and availability |
| Travel agencies | Enrich CRM records with hotel metadata for outbound campaigns |
| Data teams | Feed a hotel data warehouse with daily snapshots |
| Affiliate sites | Build price-comparison widgets with real Trip.com data |
📥 Input schema
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
cityId | integer | ✅ yes | — | Trip.com internal city ID (see below) |
checkIn | string | ✅ yes | — | Check-in date in YYYY-MM-DD format |
checkOut | string | ✅ yes | — | Check-out date in YYYY-MM-DD format |
adults | integer | no | 2 | Adult guests per room (1 to 10) |
children | integer | no | 0 | Children per room (0 to 10) |
rooms | integer | no | 1 | Number of rooms (1 to 10) |
currency | string | no | USD | Currency code |
maxItems | integer | no | 10 | Max unique hotels to return (1 to 1000) |
requestTimeoutSecs | integer | no | 180 | Per-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 IDhotelName— Hotel display namehotelUrl— 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 pricespricePerNightText— Raw display stringtotalPriceText— Raw display string with promo details
Room details
roomName— Featured room typebedInfo— Bed configurationpromoTag— Availability or promo tag (for example "Only 5 left at this price")
Location and highlights
nearbyLandmarks— Array of nearby stations and points of interesthighlightTags— Array of hotel selling points
Images
primaryImage— First image URLimageUrls— Up to 5 image URLs
Search context
searchCityId,checkInDate,checkOutDate,adults,children,roomssortOrder— Which sort order surfaced this hotelpageIndex— Which page of that sort orderscrapedAt— 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
- Open trip.com/hotels and search your target destination.
- Look at the URL of the results page, for example:
https://www.trip.com/hotels/list?city=58&provinceId=0&countryId=1&...
- Copy the value after
city=. That's yourcityId.
Common city IDs:
| City | Country | cityId |
|---|---|---|
| Hong Kong | China | 58 |
| Bangkok | Thailand | 359 |
| Tokyo | Japan | 553 |
| Singapore | Singapore | 73 |
| London | United Kingdom | 732 |
| New York | United States | 429 |
| Paris | France | 760 |
| Dubai | United Arab Emirates | 2247 |
| Kuala Lumpur | Malaysia | 276 |
| Seoul | South Korea | 538 |
❓ 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
- Click Try for free on the actor page.
- Set your
cityId,checkIn, andcheckOut. - Run.
- Download the dataset as JSON, CSV, Excel, or push to your own storage via the Apify API.
Happy scraping. 🏨✨