Wire it up. See the schema.
- 50 free requests
- Every endpoint included
- No credit card required
- Same schema as paid
A quick demo might save your team weeks of engineering work.
Resources
Free Tools
Trip.com API
Pull dated hotel search, advertised prices, stay totals, guest reviews, ratings, room types, travel types, stay dates, and sentiment filters from Trip.com as clean JSON.
curl "https://api.stayapi.com/v1/tripcom/hotels/search" \ -G \ -H "x-api-key: $STAYAPI_KEY" \ -d "city_id=17" \ -d "check_in=2026-11-14" \ -d "check_out=2026-11-16" \ -d "currency=USD" \ -d "adults=2" \ -d "rooms=1" \ -d "limit=1"
curl "https://api.stayapi.com/v1/tripcom/hotel/reviews/702258" \ -G \ -H "x-api-key: $STAYAPI_KEY" \ -d "page=1" \ -d "page_size=10" \ -d "locale=en-XX"
{
"success": true,
"city_id": 17,
"hotel_name": null,
"check_in": "2026-11-14",
"check_out": "2026-11-16",
"adults": 2,
"rooms": 1,
"currency": "USD",
"hotels": [
{
"hotel_id": 106246641,
"name": "Hangzhou Xixi Rezen Hotel",
"name_en": "Hangzhou Xixi Rezen Hotel",
"star_rating": 5,
"guest_rating": 9.3,
"review_count": 4589,
"review_summary": "Very Good",
"address": "Xixi Wetland Park Area",
"city_id": 17,
"city": "Hangzhou",
"latitude": 30.230964410736657,
"longitude": 120.04509614968305,
"image": "https://ak-d.tripcdn.com/images/1mc6o12000b19wjmk693A_R_600_600_R5_D.jpg_.webp",
"url": "https://www.trip.com/hotels/detail/?hotelId=106246641",
"price": {
"amount": 37.0,
"currency": "USD",
"basis": "advertised_price",
"taxes_included": null,
"total_amount": 77.64,
"taxes_and_fees": 4.36,
"total_display": "US$77.64",
"explanation": "Total price: US$78\n1 room × 2 nights incl. taxes & fees",
"notes": [],
"details": {
"total": {
"title": "Prepay Online",
"content": "US$77.64"
},
"payTax": {
"title": "Taxes & fees",
"content": "US$4.36"
}
},
"original_amount": 52.0,
"original_display": "US$52"
},
"category": "Hotel",
"position_description": "Near Xixi National Wetland Park | Zhejianggongye University (pingfengxiaoqu)",
"areas": [
"Xixi Wetland Park Area"
],
"highlights": [],
"awards": [],
"is_sponsored": true,
"selected_room": {
"room_id": "1880932053",
"name": "Designer Space Red",
"beds": [
"1 queen bed"
],
"bed_details": [
{
"room_name": "Bedroom 1",
"beds": [
"1 queen bed (1.8m wide)"
]
}
],
"displayed_guests": {
"adults": 2,
"children": 0
},
"badges": [
"Free Cancellation"
],
"promotions": [
"China travel deal",
"Surprise Savings",
"Multi-night Discount"
],
"discount_labels": [
"28% off"
],
"activity_labels": [
"Last booked 1 hr ago"
],
"trip_coins": {
"title": "Receive after stay",
"content": "Earn 39 Trip Coins (≈US$0.39)"
}
}
}
],
"returned": 1,
"total": 100,
"page": 1,
"prices_included": true
}
{
"success": true,
"hotel_id": 702258,
"data": {
"imageDomain": "ak-d.tripcdn.com",
"total_reviews": 919,
"totalCountForPage": 850,
"pageable_reviews": 850,
"filterList": [
{
"id": 1,
"name": "All reviews",
"commentCount": 919,
"filterType": 1
},
{
"id": 2,
"name": "Positive reviews",
"commentCount": 863,
"filterType": 1
}
],
"reviews": [
{
"id": 1622571051,
"rating": 9,
"title": "Great",
"text": "Generally it was a pleasant stay and experience. It is next to a premium Mall...",
"date": "2025-11-05 10:30:00",
"stay_date": "2025-11-01 00:00:00",
"reviewer_name": "John D.",
"room_type": "Deluxe Room",
"travel_type": "Business traveler",
"images": []
}
]
},
"retrieved_at": "2026-01-23T12:00:00Z"
}
Trusted by hospitality teams at
Trip.com has no public data API for the guest reviews that revenue and reputation teams actually need. The usual answer is a scraping stack: headless browsers, rotating proxies, and a parser that breaks every time the page changes. Search by city and stay dates to discover hotel IDs and prices, then request reviews for a selected hotel.
StayAPI is that layer, run for you. You send a hotel_id and get structured JSON back: review text and scores, room type, travel type, stay dates, reviewer names, images, and the sentiment filter counts. The same shape on every call, with pagination for the full history.
X-API-Key in, JSON out. Paginated Trip.com reviews behind one URL, with the filterList counts so you can read sentiment distribution at a glance. No SDK to install.
Fetching, parsing, proxy rotation, and source uptime are ours. You consume normalized review JSON and never touch a headless browser or a CAPTCHA solver.
Every call hits Trip.com live, so new reviews and the total count are current to the request, not a stale nightly snapshot.
Each returns normalized JSON in the same shape. Click any endpoint for parameters, an example response, and a live playground.
The same endpoints, pointed at different jobs. These are the ones we see most.
Search a Trip.com city for a stay, compare source stay totals, then use returned hotel IDs for guest reviews. Displayed advertised prices have unspecified tax inclusion and can be rounded.
Stream new Trip.com reviews into your dashboard by hotel_id, page through history, and alert when a fresh low rating lands.
Run sentiment or topic clustering on the review text, and use the positive / negative filter counts as a fast ratio without reading every comment.
Trip.com aggregates feedback from several sources, so its reviews slot into a combined reputation view next to your other channels, deduped on text and date.
Feed structured Trip.com reviews into an LLM tool call so your agent answers reputation questions from live guest feedback, not stale embeddings.
The same endpoints are exposed as MCP tools. Connect Claude, Cursor, or Claude Code, ask in plain English, and the agent calls the tool and answers from live Trip.com data.
Flat monthly plans, every endpoint included on every plan. 1 request = 1 credit. No per-endpoint multipliers, no surprise overages.
Wire it up. See the schema.
Kick the tires in production.
Small prod workloads and growing apps.
Daily pulls in production.
Above 100k / month, annual terms, white-glove onboarding.
Every plan ships every endpoint. Same uptime, same schema, same response time.
Don't see your question? Email us at info@stayapi.com.
Each review includes source: tripcom, ctrip, expedia, hotelscom, tripadvisor, or unknown. Attribution follows explicit review evidence; aggregate Expedia rating counts do not identify individual review origin. Token and signature fields are excluded; public aggregate rating metadata is retained. total_reviews is the hotel aggregate, not the number of reviews guaranteed to be retrievable. pageable_reviews is the current feed count (totalCountForPage); it can be lower than the aggregate. A positive aggregate with zero pageable reviews returns an empty successful page. Missing or malformed upstream review payloads return 502.
Yes, when a public price is present. Search returns a displayed advertised amount with unspecified tax inclusion, plus source payment totals and taxes when available. Payment totals can exclude charges due at the property; retain source labels and additional-charge notes. Do not multiply a rounded advertised amount to calculate a stay total. Missing prices are null; search does not guarantee bookability. Selected-room names, beds and displayed guest counts describe one card offer, not full inventory or capacity. Labels do not establish policies. Only the first page is supported, with limit 1–20 (default 10). Optional hotel_name requests native name matching within the required city/stay; the normalized keyword is echoed or null when omitted. Matching is not guaranteed exact.
Trip.com runs affiliate and partner programs, but there is no open public data API for pulling guest reviews. StayAPI gives you those reviews over plain REST with a key you get in 30 seconds, no contract to sign.
Call /v1/tripcom/hotel/reviews/{hotel_id} with a Trip.com hotel_id and page through the results with page and page_size (up to 50 per call). You get review text, ratings, room type, travel type, and stay dates as JSON. See the reviews endpoint docs.
Each review has a rating on a 1 to 10 scale, the full text, a rating label, the reviewer name, the booked room type, the travel type, the review date, the stay date, and any review images. The response also carries total_reviews and a filterList with positive and negative counts.
You get 50 free requests on signup, no credit card. After that it is flat monthly plans starting at $49. One request equals one credit, with no per-endpoint multipliers.
Both end with live Trip.com data in your stack. The fast path is on the left.
50 free requests after sign up. Fastest way to see if the schema fits.
Start free15 minutes. Volume + endpoint mix. Walk out with a quote.
Book a demo