Trip.com Scraper - Hotels, Prices & Reviews
Pricing
from $3.00 / 1,000 hotel scrapeds
Trip.com Scraper - Hotels, Prices & Reviews
Scrape Trip.com hotels with live room prices, star ratings, review scores & sub-ratings, amenities, photos, full address & geo, policies, AI review summaries and guest reviews (with English translations). Search any destination by name, city ID or URL. Export JSON, CSV, Excel.
Pricing
from $3.00 / 1,000 hotel scrapeds
Rating
0.0
(0)
Developer
Scrape Sage
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
15 days ago
Last modified
Categories
Share
Trip.com Scraper — Hotels, Prices & Reviews
Extract complete Trip.com hotel data for any destination — live room prices (with taxes and the crossed-out "was" price), star class, review scores and sub-ratings, the full amenities list, photos, address + map coordinates + nearest transit, every hotel policy, the AI review summary, and guest reviews with English translations. Search by destination name, city ID or URL.
No login, no cookies, no browser, no API key — fast JSON extraction with 99%+ reliability.
Why this Trip.com scraper?
Most hotel scrapers give you a name, a star count and maybe a price. This actor pulls the complete record Trip.com renders for each property and ships the richest dataset in the category:
| Data | Typical scrapers | This actor |
|---|---|---|
| Live lowest room price + currency | ✅ | ✅ |
| Total price incl. taxes & fees + "was" price | ❌ | ✅ |
| Overall review score + review count | partial | ✅ |
| Sub-ratings (cleanliness, location, service, amenities) | ❌ | ✅ |
| Full amenities list (not just "wifi/pool") | ❌ | ✅ all + highlights |
| Address, zone, latitude/longitude, nearest transit | partial | ✅ |
| Hotel policies (check-in/out, children, pets, deposit, breakfast) | ❌ | ✅ |
| Comment-tag breakdown ("Delicious breakfast" ×21) | ❌ | ✅ |
| AI review summary by aspect | ❌ | ✅ |
| Guest reviews with English translation + sub-ratings + photos | ❌ | ✅ opt-in |
| Hotel's response to a review | ❌ | ✅ |
| Quality score (0–100) | ❌ | ✅ |
Use cases
- Travel & price intelligence — track hotel prices, taxes, discounts and availability across cities and dates for revenue management, comparison sites and meta-search.
- Market research — benchmark a property against competitors by star class, review score, sub-ratings, amenities and price band in any market.
- Review & reputation analytics — pull guest reviews (with English translations), sub-ratings, comment tags and AI summaries to mine sentiment and service themes.
- Travel content & aggregation — feed booking sites, trip planners, newsletters and apps with structured, photo-rich hotel data for thousands of destinations.
- Hospitality monitoring — schedule recurring runs to watch a destination for newly listed hotels, price drops or rating changes.
How to use
- Sign up for Apify — the free plan is enough to try this actor.
- Open the Trip.com Scraper, type a destination (e.g.
Tokyo), pick your dates, and click Start. - Watch hotels and reviews stream into the dataset table.
- Export as JSON, CSV, Excel, XML or RSS — or pull results programmatically via the Apify API.
Input
{"searchDestinations": ["Tokyo", "Singapore"],"checkInDate": "2026-09-10","checkOutDate": "2026-09-12","adults": 2,"rooms": 1,"maxHotelsPerSearch": 30,"maxHotels": 100,"minRating": 8,"includeHotelDetails": true,"includeReviews": true,"maxReviewsPerHotel": 10}
- searchDestinations — destination names (
Tokyo,Singapore,New York,Dubai,London, …). Popular destinations resolve automatically. - cityIds — numeric Trip.com city IDs for any other destination. Read an ID from the hotels URL:
.../hotels/list?city=73. - searchUrls — paste Trip.com hotel list URLs (
https://us.trip.com/hotels/list?city=73). Every hotel on the page is scraped. - hotelUrls / hotelIds — scrape specific hotels (full detail + reviews) by detail URL or numeric hotel ID.
- checkInDate / checkOutDate / adults / children / rooms — used to price rooms (defaults to tomorrow, 2 adults, 1 room).
- minRating / minReviews / starRatings / maxPrice — filters applied to the rich record.
- includeHotelDetails (default true) — fetch each hotel's detail page for the full record (amenities, policies, address, AI review summary, sub-ratings).
- includeReviews (default true) — output guest reviews as separate records (rating, English translation, photos, hotel response).
- monitorMode — output only hotels that are new since the last run (for scheduled monitoring).
Output
One record per hotel (type: "hotel"), plus optional guest-review records (type: "review"):
{"type": "hotel","hotelId": "3801236","name": "Hotel Boss","url": "https://us.trip.com/hotels/detail/?hotelId=3801236&cityId=73","category": "Hotel","starRating": 4,"reviewScore": 8.4,"reviewScoreDescription": "Very good","reviewCount": 6861,"subRatings": { "Cleanliness": 8.5, "Amenities": 8, "Location": 8.8, "Service": 8.4 },"reviewHighlight": "The hotel features an outdoor swimming pool and a fitness center…","lowestPrice": 92,"priceCurrency": "USD","priceTotalWithTaxes": 100.12,"priceWasBefore": 110,"lowestRoomName": "Superior Twin Room","city": "Singapore","zone": "Kampong Glam","address": "500 Jalan Sultan Road, 199020, Singapore","latitude": 1.30541,"longitude": 103.8604,"nearestTransit": "1,200 ft from metro station (Lavender), approx. 6 mins on foot","openYear": 2015,"description": "With a stay at Hotel Boss in Singapore (Kallang)…","amenitiesHighlights": ["Outdoor swimming pool", "Gym", "Private parking"],"amenities": ["Outdoor swimming pool", "Gym", "Luggage storage", "Conference room", "..."],"amenitiesCount": 38,"policies": { "checkIn": "After 15:00 | Before 12:00", "children": "Children can stay…", "pets": "Pets are not allowed" },"reviewTags": [{ "name": "Convenient location", "count": 412 }],"aiReviewSummary": {"headline": "Ratings are higher than 80% of similar properties.","aspects": [{ "aspect": "Service Quality", "summary": "Guests praised the attentive staff…", "basedOnReviews": 69, "positive": true }]},"images": ["https://ak-d.tripcdn.com/images/…"],"qualityScore": 84,"scrapedAt": "2026-06-17T01:43:55.515Z"}
{"type": "review","hotelId": "3801236","hotelName": "Hotel Boss","rating": 9,"ratingMax": 10,"ratingDescription": "Great","subRatings": { "Location": 10, "Amenities": 8, "Service": 10, "Cleanliness": 8 },"content": "Near Kampong Glam, convenient, near MRT and behind the bus stop. Great stay, cool aircon.","contentEnglish": null,"language": "en","roomName": "Superior Room With Balcony","travelType": "Traveling with friends","checkInDate": "2026-06-01","postedDate": "2026-06-15 14:36:00","photos": ["https://ak-d.tripcdn.com/images/…"],"ownerResponse": "Dear Guest, thank you for choosing to stay with us…"}
Automate & schedule
Run this actor on autopilot and pull results into your own stack:
- Apify API — start runs, fetch datasets, and manage schedules over REST.
- apify-client for JavaScript and apify-client for Python — official SDKs.
- Schedules — run hourly/daily/weekly to track prices or watch a destination for new hotels; perfect for price feeds and dashboards.
- Webhooks — trigger downstream actions (price-alert email, Slack message, database import) the moment a run finishes.
import { ApifyClient } from 'apify-client';const client = new ApifyClient({ token: 'MY_APIFY_TOKEN' });const run = await client.actor('scrapesage/trip-com-scraper').call({searchDestinations: ['Tokyo'],checkInDate: '2026-09-10',checkOutDate: '2026-09-12',maxHotels: 50,includeReviews: true,});const { items } = await client.dataset(run.defaultDatasetId).listItems();console.log(`Got ${items.length} hotels & reviews`);
Integrate with any app
Connect the dataset to 5,000+ apps — no code required:
- Make — multi-step automation scenarios.
- Zapier — push hotels and prices straight into your sheets or CRM.
- Slack — get notified when a monitored destination has new hotels or price drops.
- Google Drive / Sheets — auto-export every run to a spreadsheet.
- Airbyte — pipe results into your data warehouse.
- GitHub — trigger runs from commits or releases.
Use with AI assistants (MCP)
The output is clean, LLM-ready JSON. Call this actor from Claude, ChatGPT or any agent framework through the Apify MCP server — ask your assistant to "find 4-star hotels in Tokyo under $200 with a 9+ review score" and let it run this scraper for you.
More scrapers from scrapesage
Build a complete travel & experiences data stack:
- Airbnb Scraper — vacation rentals: listings, prices, and availability.
- GetYourGuide Scraper — tours, activities and experiences with prices and ratings.
- Tours & Activities Scraper — attraction tickets and things to do across Civitatis and Tiqets.
- Eventbrite Scraper — events with ticket prices and organizer contacts.
- Luma Scraper — Luma events, hosts and attendee-facing details.
- Meetup Scraper — local meetups, groups and events.
Tips
- Any destination: only popular cities resolve by name. For everything else, open the city on Trip.com, copy the number after
?city=in the URL into City IDs, or paste the whole list URL into Search URLs. - Prices need dates: set
checkInDate/checkOutDateto price for your exact stay. Without dates the actor prices tomorrow night. - Fast & cheap sweep: turn
includeHotelDetailsoff to collect price + rating + geo only (one fetch per page, no per-hotel detail call). - More hotels per city: raise
maxHotelsPerSearch; the actor pages through the listing and deduplicates. Very large markets are best split by area (use severalsearchUrlswith neighbourhood filters). - Recurring monitoring: combine Schedules with
monitorModeto capture only newly listed hotels each run. - Proxies: the default Apify datacenter (US) proxy works well; switch to residential if you scrape at high volume.
FAQ
How do I scrape hotels for a specific city? Put the city in searchDestinations (e.g. Bangkok). If it isn't recognised, copy its numeric ID from the Trip.com hotels URL (?city=ID) into cityIds, or paste the list URL into searchUrls.
Does it return live prices? Yes — the lowest available room rate for your dates, plus the total including taxes & fees and any crossed-out "was" price. Prices come from the search/list pages; direct hotel-ID lookups return the full profile and reviews without a live nightly rate.
Can I get guest reviews? Yes. With includeReviews on, each hotel's most-relevant reviews are output as separate records with the rating, sub-ratings, original text and an English translation, room, travel type, dates, photos and the hotel's response.
Can I export to Google Sheets, CSV or Excel? Yes — one click in the dataset view, or automatically on every run via the Google Drive integration.
How do I monitor a destination automatically? Create a Schedule (e.g. daily) and turn on monitorMode to emit only new hotels; optionally add a webhook to push them downstream.
Is scraping Trip.com legal? This actor collects publicly available data only. You are responsible for using the data in compliance with applicable laws (e.g. GDPR/CCPA for any personal data in reviews) and Trip.com's terms.
A field is null — why? Some hotels genuinely don't publish a field (e.g. brand-new hotels with no reviews, or properties without published policies). Fields are null only when the data doesn't exist, not because the scraper skipped them.
Need help?
Open an issue on the actor's Issues tab, or visit the Apify help center. Feature requests are welcome — this actor is actively maintained.