Trip Hotel Listings Extractor
Pricing
from $3.99 / 1,000 results
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
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
a day 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. ๐จโจ