Trip.com Scraper
Pricing
from $5.00 / 1,000 results
Trip.com Scraper
Extract structured product data from [Amazon.com](https://www.amazon.com) at scale. Provide one or more Amazon search or category URLs and this Actor will crawl through all result pages, visit each product listing, and return a clean dataset with prices, images, reviews, dimensions, and more.
Trip.com Hotels Scraper
What does Trip.com Hotels Scraper do?
Trip.com Hotels Scraper extracts all hotels from any Trip.com hotel search results page — names, nightly and total prices, guest ratings, review counts, star ratings, room offers, locations, GPS coordinates and photos. Give it the URL of a Trip.com hotel list for your city and dates, and it automatically pages through the entire result set (thousands of properties per city).
Trip.com itself never serves more than ~1,100 results for a single search — and only a few hundred for filtered searches — no matter how far you scroll. Even a human visitor cannot view more than that window per query. The scraper maximizes coverage transparently: oversized searches are automatically split into narrower price-range sub-searches and re-scraped under multiple sort orders (using the site's own filter system). For very large cities, complete coverage of every listed property is still not guaranteed by a single city-wide URL — for maximum depth, add several narrower start URLs (e.g. one per district or star rating, configured on Trip.com and copied from the address bar).
Running it on the Apify platform adds API access, scheduling, integrations (Google Sheets, webhooks, Zapier), automatic proxy rotation and run monitoring on top.
Why use Trip.com Hotels Scraper?
- Price monitoring — track nightly and total prices for a whole city across dates and currencies.
- Market research — analyze hotel supply, star distribution, ratings and review volumes in any destination.
- Competitor analysis — see how properties position themselves: room types, discounts, promotional tags.
- Travel planning tools — feed structured hotel data (with coordinates for maps) into your own apps.
How to use Trip.com Hotels Scraper
- Open Trip.com hotel search, pick your city, check-in/check-out dates, guests and any filters.
- Copy the URL from the browser address bar (it looks like
https://www.trip.com/hotels/list?city=286&checkIn=2026-07-30&...). - Paste it into the Start URLs field of the Actor input.
- Optionally set Max hotels to limit the run (0 scrapes everything).
- Click Start and download the results from the Output tab when the run finishes.
Free-text search URLs (no city ID)
A URL like https://www.trip.com/hotels/list?searchWord=3-star hotels near Hanoi Old Quarter&adult=2 — the kind an AI agent typically composes — normally renders 0 properties on Trip.com, because the site only resolves free text to a location through its search-suggestion service, which a hand-built URL skips. The scraper detects this and performs the resolution itself: the phrase above is rewritten into a Hanoi city search filtered to the Old Quarter area and 3-star properties. When Trip.com's suggestions cannot make sense of the text at all, the run logs a warning asking for a rephrased search or a copied URL with a city ID.
Input
| Field | Type | Description |
|---|---|---|
startUrls | array | Trip.com hotel list URLs (https://www.trip.com/hotels/list?...). City, dates, guests, currency and filters are all taken from the URL. Free-text searchWord URLs without a city ID are resolved automatically. |
maxItems | integer | Maximum number of hotels to scrape across all URLs. 0 = all (default). |
maxPaginationRounds | integer | Safety cap on infinite-scroll rounds per page (~12 hotels per round). 0 = unlimited (default). |
proxyConfiguration | object | Proxy settings. RESIDENTIAL proxies are strongly recommended — Trip.com blocks datacenter IPs. |
{"startUrls": [{ "url": "https://www.trip.com/hotels/list?city=286&checkIn=2026-07-30&checkOut=2026-07-31&crn=1&adult=2&children=0&locale=en_xx" }],"maxItems": 0,"proxyConfiguration": { "useApifyProxy": true, "apifyProxyGroups": ["RESIDENTIAL"] }}
Output
One dataset item per hotel. You can download the dataset in various formats such as JSON, HTML, CSV, or Excel.
{"hotelId": 2843746,"name": "Hanoi Elpis Hotel","url": "https://www.trip.com/hotels/detail/?cityId=286&hotelId=2843746&checkIn=2026-07-30&checkOut=2026-07-31...","stars": 3,"starType": "star","rating": 8.1,"ratingDescription": "Very good","reviewCount": 149,"locations": ["Hồ Hoàn Kiếm Area", "Near Hanoi Old Quarter"],"highlights": ["Family room", "Spa", "Ideal location"],"tags": ["Limited Time Offer", "68% off"],"roomName": "Deluxe Double Room","bedInfo": "1 queen bed","price": 18,"originalPrice": 60,"totalPrice": 20,"currency": "USD","category": "Hotel","city": "Hanoi","latitude": 21.033695,"longitude": 105.84736,"imageUrl": "https://ak-d.tripcdn.com/images/0220b120009tqriha68AD_R_600_600_R5_D.jpg_.webp","checkIn": "2026-07-30","checkOut": "2026-07-31","adults": 2,"children": 0,"scrapedAt": "2026-07-30T14:50:34.328Z"}
Data fields
| Field | Description |
|---|---|
hotelId | Trip.com hotel ID |
name / englishName | Hotel name (localized / English) |
url | Direct link to the hotel detail page with your dates pre-filled |
stars / starType | Official class: 1–5, star (hotels) or diamond (apartments, homestays) |
rating / ratingDescription / reviewCount | Guest score (0–10), verbal rating, number of reviews |
locations / highlights / tags | Nearby landmarks, property highlights, promotional tags |
roomName / bedInfo | Cheapest offered room and its bed configuration |
price / originalPrice / totalPrice / currency | Nightly price, pre-discount price, total incl. taxes & fees |
category / city / latitude / longitude | Property type and geolocation (from the list API; not available for the first ~12 server-rendered results) |
imageUrl | Main photo |
checkIn / checkOut / adults / children | Search parameters the prices refer to |
How much does it cost to scrape Trip.com?
A run scrapes roughly 12 hotels per scroll round and a full city (≈5,000 hotels) takes about 15–30 minutes on a single browser, which corresponds to roughly 0.5–1 compute units plus residential proxy traffic. Use maxItems to keep test runs small.
Tips
- Use RESIDENTIAL proxies. Trip.com's anti-bot system ("whaleguard") blocks the hotel list API on datacenter IPs. The Actor detects this, logs a warning and retires the session, but only residential proxies give reliably complete results.
- Hotel photos are not downloaded — the scraper blocks photo requests to cut bandwidth and speed up runs. The
imageUrlfield still contains the photo URL (taken from Trip.com's list API); only the first ~12 server-rendered results of each sub-search may haveimageUrl: null. - Duplicate-free by design. Price-range sub-searches can overlap at band boundaries; the scraper deduplicates by hotel ID across the whole run. Properties without a bookable price for your dates may be missing from split (5,000+) searches, since they fall outside every price band.
- The currency of returned prices follows what Trip.com serves for your session/locale — set the
curr/barCurrparameter in the start URL to influence it, and check thecurrencyfield in the output. - Keep the
locale=en_xxparameter in the URL; the scraper's block detection expects the English UI. - One start URL = one search. To scrape multiple cities or date ranges, add multiple URLs.
FAQ, disclaimers, and support
Is it legal to scrape Trip.com? This Actor extracts only publicly available data shown to any visitor. Always review Trip.com's Terms of Service and applicable law (e.g., GDPR for personal data — this Actor does not collect personal data) and consult your legal counsel before using scraped data commercially.
The run finished with fewer hotels than expected. Check the log for the "whaleguard" warning — it means the API was blocked mid-run. Re-run with RESIDENTIAL proxies.
Found a bug or missing a field? Please open an issue in the Actor's Issues tab — feedback is welcome. Custom modifications can be arranged on request.