Trip.com & Ctrip Hotel Reviews Scraper avatar

Trip.com & Ctrip Hotel Reviews Scraper

Pricing

from $2.25 / 1,000 reviews

Go to Apify Store
Trip.com & Ctrip Hotel Reviews Scraper

Trip.com & Ctrip Hotel Reviews Scraper

Trip.com & Ctrip hotel reviews scraper — pull guest reviews with overall + sub-ratings, review text, check-in dates, travel type, photos and hotel replies. Search by city or hotel URL. Structured JSON/CSV for analytics and AI.

Pricing

from $2.25 / 1,000 reviews

Rating

0.0

(0)

Developer

SIÁN OÜ

SIÁN OÜ

Maintained by Community

Actor stats

1

Bookmarked

2

Total users

1

Monthly active users

11 days ago

Last modified

Share

Trip.com & Ctrip Hotel Reviews Scraper — Hotels, Ratings & Guest Feedback 🚀

SIÁN Agency Store Taobao Tmall Product Scraper Weibo Scraper Xiaohongshu RedNote Scraper

🎉 Scrape guest reviews from Asia's largest OTA — ratings, sub-scores, photos & hotel replies in one run

Built for hotel marketers, revenue managers and China-travel researchers who need structured review data fast


🔎 What is the Trip.com & Ctrip Hotel Reviews Scraper — and when should you use it?

The Trip.com & Ctrip Hotel Reviews Scraper turns hotel reviews and city hotel records from Trip.com into clean, structured rows you can filter, export and feed straight into a spreadsheet, database or AI agent. No account, no portal API key, no browser automation to maintain.

Use it when you need: guest ratings, review text, photos, check-in dates and hotel replies. City discovery supplies hotel IDs, names, scores and locations for a follow-up review run.

Use something else when: you need flight fares or room bookings. This actor returns hotel review and discovery records. It does not book rooms or collect flight fares.

🤖 Use with AI agents

Already connected to the Apify MCP server? Just ask for this Actor by name: sian.agency/ctrip-trip-hotel-reviews-scraper

Your agent can pay for its own runs. This Actor is eligible for agentic payments, so an agent can discover it, run it and settle the bill over x402 (USDC on Base) or Skyfire — without an Apify account or API token of its own. Billing is the same either way: per successful row, never for errors.

Otherwise copy this prompt into Claude, ChatGPT, Cursor or any MCP-enabled assistant:

I want Trip.com hotel reviews and city hotel discovery records using the Apify Actor `sian.agency/ctrip-trip-hotel-reviews-scraper`.
Use it when I need: guest ratings, review text, photos, check-in dates and hotel replies. City discovery supplies hotel IDs, names, scores and locations for a follow-up review run.
Don't use it when: This actor returns hotel review and discovery records. It does not book rooms or collect flight fares.
How to call it: choose hotelReviews with hotelUrlOrId for a single hotel, or cityHotels with cityName. Set maxPages to bound review pagination and maxHotels to bound city discovery. Enable scrapeReviewsForCityHotels to fetch reviews for discovered hotels.
Start with this input:
{
"operation": "hotelReviews",
"hotelUrlOrId": "702258",
"maxPages": 1
}
Ask me which hotel or city to cover and how many review pages to collect, then run the Actor and summarise the results as a table.

Things you can ask your agent for:

  • Collect the first page of guest reviews for hotel 702258.
  • Find hotels in Beijing with their ratings and locations.
  • Compare recent guest comments and hotel replies for a property.

Machine-readable API, MCP config and OpenAPI definition for this Actor are published at apify.com/sian.agency/ctrip-trip-hotel-reviews-scraper.md.

📋 Overview

Trip.com & Ctrip Hotel Reviews Scraper pulls guest reviews from any Trip.com / Ctrip hotel — by hotel URL, hotel ID, or automatic city discovery — and returns clean, analysis-ready rows. No login, no API key, no browser overhead.

Why professionals choose us:

  • ✅ Every review, richly structured: overall rating + 4 sub-ratings (location, facility, service, room), review text, language, travel type, check-in date, photos
  • ⚡ Fastest architecture in the niche: direct API calls — 10 reviews per request, no headless browser, no wasted compute
  • 🎯 City → hotels → reviews in one run: paste a city name, discover hotels with scores & review counts, optionally pull every review automatically
  • 💬 Owner replies included: hotel management responses and reply dates on every review that has one
  • 👤 Reviewer enrichment: reviewer region, Trip.com member level (Diamond…), review-expert grade and lifetime review count
  • 💰 Pay-per-review pricing — you're only charged for successful rows, never for errors

✨ Features

  • 🏨 Hotel Reviews by URL or ID — paste any Trip.com hotel URL (https://us.trip.com/hotels/detail/?hotelId=702258) or just the ID
  • 🔎 City Hotel Discovery — type Beijing, Tokyo, Barcelona or 香港 and get the city's top 5 hotels with score, review count and location
  • 💬 Bulk mode — discover a city's hotels AND scrape reviews for each in a single run
  • ⭐ Sub-rating breakdown — location / facility / service / room scores per review
  • 🖼️ Review photos — full-resolution image URLs per review
  • 🌐 Language control — English or Chinese output labels; per-review language tag always included
  • 📄 Deep pagination — up to 100 pages (~1,000 reviews) per hotel
  • 🧾 Room-type context — which room the guest booked, when available
  • 📊 Hotel aggregates — property-level score & total review count stamped on every row
  • 🤖 API-first — call from Node, Python, cURL, n8n, Zapier or Make

🎬 Quick Start

Open the actor, choose an operation, run. That's it.

curl -X POST 'https://api.apify.com/v2/acts/sian.agency~ctrip-trip-hotel-reviews-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"operation":"hotelReviews","hotelUrlOrId":"https://us.trip.com/hotels/detail/?hotelId=702258","maxPages":3}'

🚀 Getting Started (3 Simple Steps)

Step 1: Pick your entry point

Have a hotel URL or ID? Use Hotel Reviews. Only know the city? Use City Hotels.

Step 2: Configure

Set maxPages (10 reviews per page). For city mode, optionally enable review scraping for every discovered hotel.

Step 3: Run & export

Get clean JSON/CSV/Excel from the Apify dataset.

That's it! In under a minute, you'll have:

  • Review text with ratings and sub-scores
  • Reviewer profiles (region, level, grade)
  • Owner replies and photo URLs

📥 Input Configuration

FieldTypeRequiredDescription
operationselectYeshotelReviews or cityHotels
hotelUrlOrIdstringfor hotelReviewsTrip.com hotel URL or numeric hotel ID
cityNamestringfor cityHotelsCity name, English or Chinese
scrapeReviewsForCityHotelsbooleanNoAlso scrape reviews for each discovered hotel
maxHotelsintegerNoMax hotels per city (1-25, default 10). Trip.com shows up to 5 per city
maxPagesintegerNoReview pages per hotel (1-100, default 5; 10 reviews/page)
languageselectNoen-US (default) or zh-CN output labels

Example — single hotel:

{
"operation": "hotelReviews",
"hotelUrlOrId": "https://us.trip.com/hotels/detail/?hotelId=702258",
"maxPages": 5
}

Example — city discovery + reviews:

{
"operation": "cityHotels",
"cityName": "Beijing",
"scrapeReviewsForCityHotels": true,
"maxHotels": 10,
"maxPages": 3
}

📤 Output

Results are saved to the Apify dataset with 25+ fields per review row:

FieldTypeDescription
reviewIdstringUnique review ID
hotelId / hotelNamestringHotel identifiers
ratingnumberOverall score (0-10)
ratingLocation/Facility/Service/RoomnumberSub-scores
contentstringFull review text
languagestringReview language tag
travelTypestringFamily, Business, Solo…
checkinDate / createdDatestringStay & review dates
thumbnailstringFirst review photo (preview)
imageUrlsarrayReview photo URLs
ownerReply / ownerReplyDatestringHotel management response
reviewerName / reviewerRegionstringReviewer profile
reviewerLevel / reviewerGradestringDiamond, Review Expert…
hotelScore / hotelReviewCountnumber/integerProperty aggregates

Example:

{
"status": "success",
"platform": "tripcom",
"reviewId": "2091351994",
"hotelId": "702258",
"rating": 10,
"ratingText": "Outstanding",
"content": "Good location if you want to go to the Central Phuket. Room is spacious and clean…",
"language": "en",
"travelType": "Family",
"checkinDate": "2026-09-01 00:00:00",
"createdDate": "2026-09-04 16:59:27",
"reviewerName": "BeccaSavingMemories",
"reviewerRegion": "Malaysia",
"reviewerLevel": "Diamond",
"hotelName": "Dara Hotel",
"hotelScore": 8.8,
"hotelReviewCount": 1896,
"ownerReply": null
}

💼 Use Cases & Examples

1. Competitive Benchmarking

A revenue manager at a Bangkok resort tracks competitor guest scores weekly. Input: 5 rival hotel IDs. Output: sub-rating deltas (service 8.9 vs our 9.2). Use: target service training where the gap closes revenue.

2. Guest Sentiment Mining

A data analyst at a hotel group exports 10,000 multilingual reviews for NLP. Input: city mode, reviews on. Output: tagged corpus with language + travel type. Use: topic modeling on complaints by segment.

3. China Market Entry Research

A Western brand entering China studies which properties guests praise in Shanghai. Input: Shanghai, discovery only. Output: ranked hotels with scores and locations. Use: shortlist partnership targets.

4. Reputation Monitoring

A small chain's GM runs monthly for their 3 properties. Input: 3 hotel IDs. Output: new reviews with owner-reply status. Use: catch unanswered negatives within days, not quarters.

5. LLM Training & RAG

An AI team builds a hospitality sentiment model. Input: bulk hotel IDs. Output: rating + text + metadata pairs. Use: fine-tuning or grounding a guest-experience copilot.


🔗 Integration Examples

JavaScript/Node.js

import { ApifyClient } from 'apify-client';
const client = new ApifyClient({ token: 'YOUR_TOKEN' });
const run = await client.actor('sian.agency/ctrip-trip-hotel-reviews-scraper').call({
operation: 'hotelReviews',
hotelUrlOrId: '702258',
maxPages: 5,
});
const { items } = await client.dataset(run.defaultDatasetId).listItems();
console.log(items[0]);

Python

from apify_client import ApifyClient
client = ApifyClient('YOUR_TOKEN')
run = client.actor('sian.agency/ctrip-trip-hotel-reviews-scraper').call(
run_input={'operation': 'cityHotels', 'cityName': 'Beijing',
'scrapeReviewsForCityHotels': True, 'maxPages': 2}
)
for item in client.dataset(run['defaultDatasetId']).iterate_items():
print(item)

cURL

curl -X POST 'https://api.apify.com/v2/acts/sian.agency~ctrip-trip-hotel-reviews-scraper/runs?token=YOUR_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"operation":"hotelReviews","hotelUrlOrId":"702258","maxPages":2}'

Automation Workflows (n8n / Zapier / Make)

  1. Trigger: schedule (weekly) or webhook
  2. HTTP Request: call the actor API with your hotel list
  3. Process: filter rows by rating < 7
  4. Action: Slack alert / sheet append / dashboard update

📊 Performance & Pricing

Try it now

Every run starts cheap and scales with volume — you pay only for successful rows, never for errors.

Pay-per-result

  • $0.003 per review (Bronze) — volume discounts apply automatically on higher plans
  • $0.002 per discovered hotel in city mode
  • Errors are never charged

💰 In-pack pricing with the niche's top actors — with a faster architecture and richer rows.

🔗 View current pricing


❓ Frequently Asked Questions

Q: How many reviews can I scrape? A: Up to 100 pages (~1,000 reviews) per hotel per run, and unlimited hotels via repeat runs.

Q: Trip.com or Ctrip — which one does this cover? A: Both — they share one inventory system. Any hotel visible on trip.com works, including China domestic properties.

Q: Do I need a login or API key? A: No. Everything runs on Apify's infrastructure with rotating residential proxies built in.

Q: What languages are the reviews in? A: Whatever guests wrote — each row carries a language tag. Set output labels to English or Chinese.

Q: What output formats are available? A: JSON, CSV, Excel — export directly from the Apify dataset.

Q: Is this legal? A: We only extract publicly visible reviews. See our legal section.

Q: How fast is it? A: ~10 reviews per request with polite pacing — a 500-review hotel takes under 2 minutes.


🐛 Troubleshooting

"No reviews found for this hotel ID"

  • The ID may be from a property not bookable on the international site. Open the hotel page on us.trip.com to confirm it exists there, then copy the ID from the URL.

City returned no hotels

  • Type the city as you would in Trip.com's search box, in English (Beijing, not Peking) or Chinese (北京).

Run failed with a blocking message

  • The data source occasionally throttles. Retry in a few minutes — retries are automatic within a run.

⚠️ Trademark Disclaimer

This actor is an independent tool and is not affiliated with, endorsed by, or sponsored by Trip.com Group or Ctrip. Trip.com® and Ctrip® are trademarks of their respective owners, referenced under nominative fair use to describe the data source.


Our actors are ethical and do not extract any private user data, such as email addresses, gender, or location. They only extract what the user has chosen to share publicly. We therefore believe that our actors, when used for ethical purposes by Apify users, are safe.

However, you should be aware that your results could contain personal data. Personal data is protected by the GDPR in the European Union and by other regulations around the world. You should not scrape personal data unless you have a legitimate reason to do so. If you're unsure whether your reason is legitimate, consult your lawyers.

You can also read Apify's blog post on the legality of web scraping.


🤝 Support

Join our active support community


Built by SIÁN Agency | More Tools