Ctrip Scraper | Attractions, Tickets and Reviews avatar

Ctrip Scraper | Attractions, Tickets and Reviews

Pricing

from $3.46 / 1,000 attractions

Go to Apify Store
Ctrip Scraper | Attractions, Tickets and Reviews

Ctrip Scraper | Attractions, Tickets and Reviews

Ctrip scraper (携程) for attractions, tickets and reviews: type a city like Beijing and get 50 attractions in 19 seconds, 39 fields each. Chinese and English name, ticket price, rating, review count, heat score, A-grade, opening hours, address, coordinates, photos and latest reviews. No login.

Pricing

from $3.46 / 1,000 attractions

Rating

0.0

(0)

Developer

SilentFlow

SilentFlow

Maintained by Community

Actor stats

0

Bookmarked

13

Total users

3

Monthly active users

18 hours ago

Last modified

Features

Limited permissions

Share

Ctrip Scraper (携程) | Attractions, Tickets and Hotel Reviews (2026)

1 search. 50 Ctrip attractions. 39 fields per attraction.

From SilentFlow. Creators of Pinterest Scraper and Leboncoin Scraper, with 420,000+ combined lifetime runs.

Turn Ctrip (携程), China's largest travel platform, into an attractions table: every sight of a city or a region with its ticket price, rating, review count, heat score, China's A-grade, opening hours, address, map coordinates, photos and, if you want them, the latest visitor reviews. Type Beijing and press Start: 50 attractions, each completed from its own Ctrip page, in 17 to 23 seconds on our test runs. Paste a Ctrip or Trip.com hotel page and every guest review of that hotel becomes a row too, with its date, text, rating, trip type and the hotel's reply. No Ctrip account, no Chinese needed.

Why choose this actor?

Translating Ctrip pages one by one to build a list of what to see in Chengdu? Getting names from one source, prices from another and coordinates that land a few hundred meters off on Google Maps? Copying hotel reviews by hand, one hotel at a time, without knowing which hotel or city each review belongs to?

  • Hotel reviews from any number of Ctrip or Trip.com hotels, one row per review. The most used Ctrip reviews actor reads one hotel per run; here you paste as many hotel pages or ids as you need. Each review comes with its date, original text, English translation when Trip.com has one, rating and its cleanliness, location, service and amenities ratings, trip type, room, reviewer, the hotel's reply and photos, and every row repeats the hotel's name, stars, city, address, coordinates, overall score and review count. On our runs of 10 November 2026, 120 reviews of the Grand Hyatt Shanghai took 6 seconds, and three hotels with 7 days as the review date returned only the 107 reviews of that week, in 17 seconds.
  • More of every attraction in one row. On our 50-attraction Beijing run of 4 October 2026, 39 fields were filled on at least half the rows: Chinese and English name, ticket price and price before discount, rating, review count, Ctrip heat score, 5A or 4A grade, ranking, today's hours and the full schedule, visit time, ticket policies, facilities, address, area, distance to the center, WGS84 latitude and longitude, phone, photos and video. The most used Ctrip actor on the Store declares 26 fields per row.
  • Four ways in, in the same run, nothing required. Type a city, a region, an attraction name or any words; paste a Ctrip address (an attraction, a city list, a destination page); give attraction ids; or paste hotel pages and hotel ids. One mixed run (an exact name, a city list address, an attraction address and two ids, filtered on 5A sites) returned 6 rows in 7 seconds, and the address of an attraction already found by its name was saved once. No field is required: the form opens on Beijing and a Shanghai hotel and returned 50 hotel reviews and 50 attractions in 21 seconds as it is.

Try Ctrip Scraper

Try your first attraction list and hotel reviews

Paste this input in the JSON tab, or keep the prefilled form and press Start. It saves the 50 newest guest reviews of the Grand Hyatt Shanghai, then lists the 50 Beijing attractions Ctrip recommends first, from Universal Beijing Resort and the Palace Museum to the Badaling and Mutianyu sections of the Great Wall. It took 21 seconds on our run of 10 November 2026.

{
"searches": ["Beijing"],
"hotelUrls": ["https://hotels.ctrip.com/hotels/346403.html"],
"maxItems": 50,
"category": "all",
"scenicLevel": "any",
"sortBy": "recommended",
"maxReviewsPerAttraction": 0
}

Runs on the Apify Free plan: sign up, open the actor, press Start. Each attraction and each hotel review lands as one row of the dataset, which you can open as a table (the Hotel reviews tab shows the review columns), download as CSV, Excel or JSON, or read from the API. Change Beijing for any city, region, attraction or words (Chengdu, 云南, Tokyo, Great Wall, 熊猫), paste your own hotels, or empty either field, and run again.

How it works

Copy to your AI assistant

Paste this block into Claude, ChatGPT or Cursor to give it the full picture of this scraper before you ask it to write code or plan a dataset:

You have access to the Ctrip attractions scraper on Apify: silentflow/ctrip-scraper
It reads Ctrip (携程, you.ctrip.com), China's largest travel platform. One row = one attraction,
or one guest review of a hotel (dataType tells which: "attraction" or "hotelReview").
Input (all optional, at least one of searches / startUrls / attractionIds / hotelUrls):
- searches (array of strings): cities, regions, attraction names or words, English or Chinese.
A city or region lists its attractions; an exact attraction name gives that attraction;
other words search attractions across all of Ctrip. Example: ["Beijing", "故宫博物院", "Great Wall"]
- startUrls (array of {url}): you.ctrip.com/sight/{city}/{id}.html, you.ctrip.com/sight/{city}.html,
you.ctrip.com/place/{city}.html, m.ctrip.com/webapp/you/gspoi/sight/{city}/0.html?poiId={poiId}
- attractionIds (array of strings): Ctrip attraction ids, e.g. "229" (Palace Museum)
- hotelUrls (array of strings): Ctrip or Trip.com hotel pages or hotel ids, e.g.
"https://hotels.ctrip.com/hotels/346403.html", "https://www.trip.com/hotels/shanghai-hotel-detail-346403/x/", "346403".
Each guest review is one row, newest first. Hotels are read before the other lines.
- maxItems (integer, default 50, up to 10000): rows per input line (attractions, or reviews of a hotel)
- category (string, default "all"): all, museums, art_galleries, theme_parks, water_parks,
parks_gardens, zoos_aquariums, beaches_islands
- scenicLevel (string, default "any"): any, 4A (4A and 5A), 5A
- sortBy (string, default "recommended"): recommended, top_rated, most_popular, best_selling
- maxReviewsPerAttraction (integer, default 0, up to 500): latest reviews added to each attraction row
- cutoffDate (string): keep reviews published on or after it, hotels and attractions: "2026-01-01" or "30 days"
Output per attraction (44 fields):
- id (string, Ctrip attraction id), poiId (string), url (string), name (string, Chinese),
nameEn (string|null), nameLocal (string|null, local script abroad)
- tags (string[]), scenicLevel ("5A".."1A"|null), ranking (string|null), highlight (string|null),
description (string|null), openStatus (string|null), todayHours (string|null),
openingHours (string|null), visitDuration (string|null),
ticketPolicies ({name, description}[]), facilities ({name, description}[]), bookingTags (string[])
- rating (number 0-5|null), reviewsCount (integer), heatScore (number 0-10|null),
price (number|null), originalPrice (number|null), currency ("CNY"|null), isFree (boolean)
- address, city, cityEn (string|null), cityId (integer), zone (string|null),
distanceToCenterKm (number|null), latitude, longitude (WGS84 numbers|null),
phone (string|null), isOverseas (boolean|null)
- imageUrl (string|null), images (string[]), imageCount (integer|null), hasVideo (boolean), videoUrl (string|null)
- reviews (array, only when maxReviewsPerAttraction > 0): id, url, rating, subRatings {scenery, fun, value},
text, translatedText, language, author, authorLevel, authorLocation, travelerType,
usefulCount, replyCount, images, ownerReply, source, publishedAt (RFC 3339)
- dataType ("attraction"), searchQuery (string), position (integer|null, rank in the list), scrapedAt (RFC 3339)
Output per hotel review (50 fields):
- id (string, review id), url, hotelId, hotelName, hotelUrl, name (the hotel), nameEn
- text (original), textTranslated (English|null), language (ISO 639-1), travelType, roomType, isRecommended
- authorName, authorLevel, authorLocation, authorReviewsCount, authorAvatarUrl
- rating, ratingLabel, ratingCleanliness, ratingLocation, ratingService, ratingAmenities (out of 5), usefulCount
- hotelRating, hotelRatingLabel, hotelReviewsCount, hotelRatingCleanliness, hotelRatingLocation,
hotelRatingService, hotelRatingAmenities, hotelStars, ranking
- publishedAt (RFC 3339), stayMonth ("2026-11"), address, zone, city, cityId, latitude, longitude (WGS84), isOverseas
- responseFromOwnerText, responseFromOwnerDate, images (string[]), videos (string[])
- dataType ("hotelReview"), searchQuery, scrapedAt
Use apify-client for Python or JavaScript: client.actor("silentflow/ctrip-scraper").call(run_input=...)

How to scrape Ctrip attractions, tickets and hotel reviews

Four inputs, from the simplest to the most specific. Each one runs as it is.

List what to see in a city

The 50 attractions Ctrip recommends first in Beijing, each with its price, rating, hours, address and coordinates.

{
"searches": ["Beijing"],
"maxItems": 50
}

Get the guest reviews of a hotel from its Ctrip or Trip.com page

Paste the hotel's address from Ctrip or Trip.com, or its id. Each review is one row, newest first, with the hotel's name, stars, city, address and scores repeated on every row. Our run read 120 reviews of the Grand Hyatt Shanghai in 6 seconds; Ctrip counts 18,951 for this hotel.

{
"hotelUrls": ["https://www.trip.com/hotels/shanghai-hotel-detail-346403/grand-hyatt-shanghai/"],
"maxItems": 120
}

Rank the best rated zoos and aquariums of Chengdu with their latest reviews

Ctrip lists 70 zoos and aquariums for Chengdu. This input keeps the 15 best rated (the Chengdu Polar Ocean Park, the Chengdu Zoo, the Giant Panda Breeding Research Base and Panda Valley among them) with the 5 newest reviews of each. Our run returned 15 rows and 70 reviews in 10 seconds: one attraction shows 41 reviews on Ctrip but displays none of them, so it came back without a review list.

{
"searches": ["Chengdu"],
"maxItems": 15,
"category": "zoos_aquariums",
"sortBy": "top_rated",
"maxReviewsPerAttraction": 5
}

Find every section of the Great Wall you can visit

Words that are not a city search attractions across the whole of Ctrip. Great Wall found 848 matching attractions; sorted by rating, the first 12 were Mutianyu, Juyongguan, Badaling, Huanghuacheng, Jiaoshan, Huangyaguan, Jinshanling and Simatai, then the Mutianyu cableway and the China Great Wall Museum. 5 seconds on our run.

{
"searches": ["Great Wall"],
"maxItems": 12,
"sortBy": "top_rated"
}

Input parameters

FieldTypeDefaultWhat it does
searcheslist of text["Beijing"] in the formCities, regions, attraction names or words, in English or Chinese
startUrlslist of addressesnoneCtrip attraction, city list or destination addresses
attractionIdslist of textnoneCtrip attraction ids, the number at the end of an attraction address
hotelUrlslist of texta Shanghai hotel in the formCtrip or Trip.com hotel pages or hotel ids; every guest review becomes a row
maxItemsnumber50Rows saved for each line: attractions, or reviews of a hotel, up to 10,000
categorychoiceallMuseums, art galleries, theme parks, water parks, parks and gardens, zoos and aquariums, beaches and islands
scenicLevelchoiceany5A only, or 4A and 5A (China's official grades of tourist sites)
sortBychoicerecommendedRecommended by Ctrip, top rated, most popular (heat score), best selling
maxReviewsPerAttractionnumber0Newest reviews added to each attraction row, up to 500
cutoffDatedatenoneOnly the reviews published on or after this date (2026-01-01 or 30 days), for hotels and attractions

Nothing is required. A run needs at least one line in searches, startUrls, attractionIds or hotelUrls, and the form opens with two.

Accepted inputs

  • A city or a region, in English or Chinese: Beijing, 北京, Chengdu, Hangzhou, Yunnan, 云南, Hong Kong, Tokyo, Paris. You get the attractions Ctrip lists for that place, in your chosen order.
  • An exact attraction name: 故宫博物院, 八达岭长城, West Lake. You get that attraction alone, with its card fields and its page fields.
  • Any other words: Great Wall, Disneyland, Terracotta Army, 熊猫. You get the attractions Ctrip finds for those words across the whole site, best match first. Chinese words are the most precise.
  • An attraction address: https://you.ctrip.com/sight/beijing1/229.html, or the mobile https://m.ctrip.com/webapp/you/gspoi/sight/1/0.html?poiId=75595.
  • A city attraction list or a destination page: https://you.ctrip.com/sight/hangzhou14.html, https://you.ctrip.com/place/chengdu104.html.
  • An attraction id: 229, the number at the end of you.ctrip.com/sight/beijing1/229.html. It is also the id column of every row, so a list of ids from one run feeds the next.
  • A hotel page of Ctrip or Trip.com, in the hotel field or among the addresses: https://hotels.ctrip.com/hotels/346403.html, https://hotels.ctrip.com/hotels/detail/?hotelId=346403, the mobile https://m.ctrip.com/webapp/hotel/hoteldetail/346403.html, or any Trip.com country site such as https://www.trip.com/hotels/shanghai-hotel-detail-346403/grand-hyatt-shanghai/. Ctrip and Trip.com share their hotel numbers, so these are the same hotel.
  • A hotel id, in the hotel field: 346403. It is the hotelId column of every review row.

The category, scenic level and order apply to cities, regions and word searches. An attraction asked for by its exact name, its id or its address is always returned. Hotel reviews come newest first, and cutoffDate stops each hotel at the reviews older than your date.

What data can you extract from Ctrip?

A run gives two kinds of row, told apart by dataType: attractions, and hotel guest reviews.

Each attraction row describes one attraction in 44 fields, grouped the way you read them:

  • Identity (6): id, poiId, url, name (Chinese), nameEn, nameLocal (the name in the local script abroad, 東京国立博物館 for the Tokyo National Museum).
  • What it is (12): tags (Ctrip's themes, such as family friendly or night views), scenicLevel (5A to 1A), ranking (2026全球100必打卡景点, 关东地区必打卡景点榜 No.9), highlight, description (plain text, one paragraph per line), openStatus, todayHours, openingHours (the full schedule with holidays), visitDuration, ticketPolicies (free and reduced entry rules), facilities (luggage, guides, audio guides, restrooms), bookingTags (bookable today, bookable tomorrow, current promotions).
  • Measures (7): rating out of 5, reviewsCount, heatScore out of 10, price and originalPrice of the ticket, currency (CNY), isFree.
  • Place (10): address, city, cityEn, cityId, zone (the area of the city), distanceToCenterKm, latitude, longitude, phone, isOverseas.
  • Media (5): imageUrl, images, imageCount (1,141 photos for the Palace Museum), hasVideo, videoUrl.
  • Meta (4): dataType (attraction), searchQuery (the input line the row came from), position (its rank in the list), scrapedAt.

With maxReviewsPerAttraction above 0, each row also carries reviews: the newest reviews first, 17 fields each, with the rating and the scenery, fun and value sub-ratings, the original text and its Chinese translation when the visitor wrote in another language, the language, the reviewer's nickname, membership level and region, the traveler type (solo, couple, family, friends), useful and reply counts, photos, the attraction's reply, where the review came from, and the date.

Each hotel review row describes one guest review in 50 fields:

  • Identity (7): id (the review's number), url (the review on the hotel's review page), hotelId, hotelName, hotelUrl, name (the hotel, as in the attraction rows), nameEn (Grand Hyatt Shanghai).
  • The review (6): text as the guest wrote it, textTranslated (the English translation when Trip.com has one; 10 of the 31 recent reviews of Marina Bay Sands on our run), language, travelType (business traveler, couple, family, solo, with friends), roomType, isRecommended.
  • The guest (5): authorName, authorLevel, authorLocation (the province or country the review was posted from), authorReviewsCount, authorAvatarUrl.
  • Ratings (7): rating out of 5, ratingLabel (Outstanding, Amazing, Great), ratingCleanliness, ratingLocation, ratingService, ratingAmenities, usefulCount (helpful votes).
  • The hotel (9): hotelRating and hotelRatingLabel, hotelReviewsCount (18,951 for the Grand Hyatt Shanghai), the hotel's cleanliness, location, service and amenities scores, hotelStars, ranking (上海豪华酒店榜 No.3).
  • Time and place (9): publishedAt, stayMonth (the month of the stay), address, zone, city, cityId, latitude, longitude, isOverseas.
  • The hotel's reply (2): responseFromOwnerText and responseFromOwnerDate. On our Grand Hyatt Shanghai run, 99% of the reviews had one.
  • Media (2): images and videos posted by the guest.
  • Meta (3): dataType (hotelReview), searchQuery, scrapedAt.

A few facts that help you use the data:

  • id is stable: it is the number Ctrip puts in the attraction's address, or the number of the review. url opens the attraction page on you.ctrip.com, or the review on the hotel's Ctrip review page.
  • Coordinates are WGS84, the system of GPS and Google Maps, for attractions and hotels alike. Ctrip draws Chinese places on Chinese map grids, which sits a few hundred meters away from WGS84; the conversion is done for you.
  • Prices are ticket prices in Chinese yuan as Ctrip shows them at run time. Free attractions have isFree: true and no price; some paid ones are sold only through tours and have no single price either.
  • Dates are RFC 3339 in UTC. Image addresses are Ctrip's own and stay valid for long periods; the video address carries a timestamp and can change.
  • Absent values are null, never an empty text, so a column means the same thing on every row.

Output example

One full attraction row, the Palace Museum asked for by its id with one review. The description, policies and facilities are cut to their first entries here; the real row carries all of them (12 ticket policies and 11 facilities for this attraction).

{
"id": "229",
"poiId": "75595",
"url": "https://you.ctrip.com/sight/1/229.html",
"name": "故宫博物院",
"nameEn": "The Palace Museum",
"nameLocal": null,
"tags": ["遛娃宝藏地", "亲子同乐"],
"scenicLevel": "5A",
"ranking": "2026全球100必打卡景点",
"highlight": "穿越明清两朝的皇家宫殿群",
"description": "故宫博物院又称紫禁城,是明、清两代的皇宫,也是古老中国的标志和象征。当你置身于气派规整的高墙深院,能真真切切地感受到它曾经的荣耀。",
"openStatus": "08:30开园",
"todayHours": "今天08:30-17:00开放(16:00停止入园)",
"openingHours": "特殊营业时间:清明节,劳动节,端午节,中秋节,国庆节 08:30-17:00开放(16:00停止入园);每年4月1日-10月31日 周二–周日 08:30-17:00开放(16:00停止入园);每年11月1日-次年3月31日 周二–周日 08:30-16:30开放(15:30停止入园);全年 周一 不开放",
"visitDuration": "4-6小时",
"ticketPolicies": [
{"name": "未成年人", "description": "未满18岁(不含)的中国公民(含港澳台居民及获得永久居留权的外国人)(有监护人陪同),需提前至官网预约,免费"},
{"name": "老人", "description": "年龄:60周岁(含)以上,优惠"}
],
"facilities": [
{"name": "行李寄存", "description": "参考价格:现场为准;地址:午门与神武门外东侧;存包行李可在午门(南门)至神武门(北门)之间免费运送"},
{"name": "景区讲解", "description": "午门东、西两侧可咨询、聘请讲解服务,收费以现场为准。"}
],
"bookingTags": null,
"rating": 4.9,
"reviewsCount": 202281,
"heatScore": 10,
"price": 70,
"originalPrice": null,
"currency": "CNY",
"isFree": false,
"address": "北京市东城区景山前街4号",
"city": "北京",
"cityEn": "Beijing",
"cityId": 1,
"zone": "天安门/王府井地区",
"distanceToCenterKm": 1.7,
"latitude": 39.91634784295942,
"longitude": 116.39080291931405,
"phone": "+864009501925",
"isOverseas": false,
"imageUrl": "https://dimg04.c-ctrip.com/images/010671200087d4o7zEA88.jpg",
"images": [
"https://dimg04.c-ctrip.com/images/010671200087d4o7zEA88.jpg",
"https://dimg04.c-ctrip.com/images/100k0q000000gqnh8EE78.jpg",
"https://dimg04.c-ctrip.com/images/100310000000om1k74D93.jpg",
"https://dimg04.c-ctrip.com/images/100g0x000000let3k0858.jpg"
],
"imageCount": 1141,
"hasVideo": true,
"videoUrl": "https://video.c-ctrip.com/videos/1A051r000001i0vam58FF_smart.mp4?ts=1618633035000",
"reviews": [
{
"id": "849005543",
"url": "https://m.ctrip.com/webapp/you/comment/detail/229/74/849005543.html",
"rating": 2,
"subRatings": null,
"text": "The good thing about this tour is that it is inexpensive way to get inside. However the tour itself is a wast of your time. We did not even get to most of the places but stood for ages listening to one emporer or the next",
"translatedText": "这次旅行的好处是价格便宜,可以进去参观。然而,旅行本身却浪费时间。我们甚至都没能去到大多数地方,而是站在那里听一个又一个皇帝讲话。",
"language": "en",
"author": "匿名用户",
"authorLevel": null,
"authorLocation": null,
"travelerType": "单独旅行",
"usefulCount": 0,
"replyCount": 0,
"images": null,
"ownerReply": null,
"source": "来自Trip.com",
"publishedAt": "2026-10-04T16:47:08Z"
}
],
"searchQuery": "229",
"position": null,
"scrapedAt": "2026-10-04T18:55:22Z"
}

One hotel review row, from our Grand Hyatt Shanghai run. The hotel's reply is cut to its first sentences here.

{
"id": "2168693083",
"url": "https://m.ctrip.com/webapp/hotel/hoteldetail/dianping/346403.html#review-2168693083",
"hotelId": "346403",
"hotelName": "上海金茂君悦大酒店",
"hotelUrl": "https://hotels.ctrip.com/hotels/detail/?hotelId=346403",
"name": "上海金茂君悦大酒店",
"nameEn": "Grand Hyatt Shanghai",
"text": "选择金茂君悦没有失望。酒店环境安静,虽然地处繁华地段,房间隔音不错。卫生标准在线,客房收拾得清爽。配套设施齐全,休闲区域保养良好。服务不刻意热情,分寸感很好,有问题都能妥善帮忙处理,入住体验很稳。",
"textTranslated": "Choosing the Grand Hyatt was not a disappointment. The hotel environment was quiet, and despite its prime location, the rooms were well-soundproofed. Cleanliness standards were high, and the rooms were spotless. Facilities were comprehensive, and the relaxation areas were well-maintained. Service was neither overly enthusiastic nor overly overly enthusiastic; the staff were very considerate and helpful in resolving any issues, making for a very pleasant stay.",
"language": "zh",
"travelType": "Traveling with friends",
"roomType": "君悦江景双床房",
"isRecommended": true,
"authorName": "匿名用户",
"authorLevel": "Review Specialist",
"authorLocation": "上海",
"authorReviewsCount": 7,
"authorAvatarUrl": "https://dimg04.c-ctrip.com/images/0206y1200093jha2e8811_C_130_130_Q70.jpg",
"rating": 5,
"ratingLabel": "Outstanding",
"ratingCleanliness": 5,
"ratingLocation": 5,
"ratingService": 5,
"ratingAmenities": 5,
"usefulCount": 0,
"hotelRating": 4.7,
"hotelRatingLabel": "Outstanding",
"hotelReviewsCount": 18951,
"hotelRatingCleanliness": 4.7,
"hotelRatingLocation": 4.7,
"hotelRatingService": 4.6,
"hotelRatingAmenities": 4.6,
"hotelStars": 5,
"ranking": "上海豪华酒店榜 No.3",
"publishedAt": "2026-11-09T15:42:29Z",
"stayMonth": "2026-11",
"address": "浦东新区世纪大道88号 (54楼办理入住)",
"zone": "陆家嘴",
"city": "上海",
"cityId": 2,
"latitude": 31.23718593151511,
"longitude": 121.50167232833054,
"isOverseas": false,
"responseFromOwnerText": "尊敬的宾客,您好!感谢您选择上海金茂君悦大酒店,一句\"没有失望\"是对我们最实在的肯定。",
"responseFromOwnerDate": "2026-11-10",
"images": [],
"videos": [],
"dataType": "hotelReview",
"searchQuery": "https://hotels.ctrip.com/hotels/346403.html",
"scrapedAt": "2026-11-10T12:57:11Z"
}

Advanced usage

Six recipes beyond the basics. Each input runs as it is.

Collect only the new reviews of your hotels every week

Put your hotels and your competitors in hotelUrls, set cutoffDate to 7 days and schedule the run weekly in Apify (Schedules tab): each run saves only the reviews of the past week, so you never pay twice for the same review. On our run of 10 November 2026, three hotels in Shanghai and Singapore returned their 107 reviews of the past seven days in 17 seconds. responseFromOwnerText and responseFromOwnerDate show which reviews each hotel answered, and how fast.

{
"hotelUrls": [
"https://hotels.ctrip.com/hotels/346403.html",
"https://hotels.ctrip.com/hotels/426595.html",
"https://www.trip.com/hotels/singapore-hotel-detail-687592/marina-bay-sands-singapore/"
],
"cutoffDate": "7 days",
"maxItems": 1000
}

Build the list of every 5A scenic area of a province

China grades its tourist sites from 1A to 5A, and the 5A list is the reference for tour operators and inbound tourism boards. This input reads Yunnan as a whole (Lijiang, Kunming, Xishuangbanna, Shangri-La and the rest) and keeps the national top tier only, with the official grade in scenicLevel on every row. Our run returned the 10 sites Ctrip grades 5A in Yunnan, from the Jade Dragon Snow Mountain and the Stone Forest to the Old Town of Lijiang, in 4 seconds.

{
"searches": ["Yunnan"],
"scenicLevel": "5A",
"maxItems": 200,
"sortBy": "most_popular"
}

Watch the ticket prices of a fixed set of attractions every week

Put the ids of the attractions you track in attractionIds, then schedule the run weekly in Apify (Schedules tab). Each row carries price, originalPrice, isFree and bookingTags, so a spreadsheet or a database fed from the dataset shows every price change and every new promotion. Ids are the id column of any earlier run.

{
"attractionIds": ["229", "230", "243", "5174", "2045497"],
"maxItems": 1
}

Feed visitor reviews into a sentiment or LLM pipeline

Reviews come newest first, with the original text, its Chinese translation when the visitor wrote in another language, the rating, the scenery, fun and value sub-ratings, the traveler type and the reviewer's region. 200 reviews per attraction for three major sights of Xi'an give a corpus that a model can summarize by theme or by traveler type: our run returned the Terracotta Army museum, the Shaanxi History Museum and the City Wall with 600 reviews in 20 seconds.

{
"searches": ["Terracotta Army", "陕西历史博物馆", "西安城墙"],
"maxItems": 1,
"maxReviewsPerAttraction": 200
}

Compare the museums of several cities side by side

Three cities in one run, the museums only, best rated first. searchQuery on each row tells which city it came from, and rating, reviewsCount and heatScore put Beijing, Shanghai and Xi'an on the same scale. Ctrip lists 681 museums for Beijing, 480 for Shanghai and 214 for Xi'an; this input returned 90 rows in 32 seconds.

{
"searches": ["Beijing", "Shanghai", "Xi'an"],
"category": "museums",
"sortBy": "top_rated",
"maxItems": 30
}

Map the attractions of a destination abroad for Chinese travelers

Ctrip covers the whole world with the names, rankings and reviews Chinese travelers read. Tokyo returns its theme parks, temples, towers and museums with the Chinese name, the English name and the Japanese name in nameLocal, and WGS84 coordinates ready for a map layer. On our run of the 20 most popular, 15 rows carried a Japanese name, from Tokyo Disneyland (東京ディズニーランド) to SHIBUYA SKY; Ctrip counts sights around the city too, such as Mount Fuji.

{
"searches": ["Tokyo"],
"maxItems": 300,
"sortBy": "most_popular"
}

FAQ

What is Ctrip? Ctrip (携程, you.ctrip.com) is China's largest online travel platform, the domestic counterpart of Trip.com, run by the same group. Its attractions pages (景点) are where Chinese travelers check tickets, opening hours and reviews before a visit, which makes it the most complete source on what they see and rate, in China and abroad.

Do I need a Ctrip account, an API key or to read Chinese? No. The scraper reads the public attraction and hotel pages a visitor sees without logging in. You can type in English or in Chinese; rows carry the English name next to the Chinese one whenever Ctrip has it, and translated reviews keep both texts.

What exactly can I type in the search field? A city or a region gives its attractions; an exact attraction name gives that attraction; any other words search attractions across the whole site. Beijing, 成都, Yunnan, West Lake, 故宫博物院, Great Wall and Disneyland all work. Chinese names are the most precise for Chinese places.

Does it work outside China? Yes. Ctrip lists attractions worldwide: Tokyo, Paris, Bali and Hong Kong all return rows, with the name in the local script in nameLocal abroad. China's A-grades exist only for mainland China, so the 5A and 4A filter returns nothing for a destination abroad.

Can I get the reviews of a hotel? Yes. Paste its Ctrip or Trip.com page, or its id, in the hotel field. Every guest review becomes a row, newest first, with the original text, the English translation when Trip.com has one, the rating and four category ratings, the trip type, the room, the guest, the hotel's reply and the photos, next to the hotel's own name, stars, city, address, coordinates and scores. maxItems caps the reviews of each hotel and cutoffDate keeps only the recent ones.

How fresh is the data? Every run reads Ctrip live at that moment: prices, today's hours, the opening status, ratings and review counts are the ones Ctrip shows when the run starts. Schedule the actor to keep a dataset current.

How many attractions or reviews can I get? maxItems is per input line, up to 10,000 attractions per destination or reviews per hotel. Ctrip reports 20,000 entries for Beijing, 70 zoos and aquariums for Chengdu, 10 sites graded 5A in Beijing. 50 rows took 17 to 23 seconds and 100 rows 36 to 67 seconds on our runs; each row is completed from the attraction's own page, so time grows with the cap.

Can I combine the filters? Yes, they add up. category: museums with scenicLevel: 4A and sortBy: top_rated returns the graded museums of a city, best rated first. A word search accepts the same filters: Great Wall with scenicLevel: 5A keeps Badaling, Mutianyu and Jinshanling.

Why do some rows have no price, no rating or no reviews? They mirror Ctrip. Free attractions have no price and isFree: true; some sights sell entry only through tours; a new attraction or a seasonal experience (北京赏银杏, ginkgo viewing in Beijing) has no score yet. Ctrip also hides part of its reviews: one Chengdu attraction shows 41 reviews in its count but displays none, and the scraper returns the reviews Ctrip displays.

Can I scrape several cities or attractions in one run? Yes. Add one line per city, attraction or word search, mix them with addresses and ids, and the cap applies to each line. An attraction found by two lines is saved once.

Are the addresses and images permanent? url and id are stable: they are Ctrip's own attraction address and number. Image addresses are Ctrip's photo links and stay valid for long periods. The video address carries a timestamp and can change, so download a video if you need to keep it.

More SilentFlow scrapers

🛒 E-commerce

💼 Jobs

🏠 Real estate

📣 Social media

🏢 Business data

✈️ Travel

🎯 Lead generation

🔎 SEO

📈 Marketing

🧰 More tools

Support

Need something this scraper doesn't do yet? We ship features fast.

  • Feature requests go straight to our backlog
  • Enterprise needs? We do custom integrations and high-volume plans
  • Pricing questions? Check the Monetization tab on the actor page

Response time: usually under 24 hours.

This Actor extracts publicly available data from Ctrip (携程). It does not bypass any login, paywall or CAPTCHA. Users are responsible for complying with Ctrip's terms of service and applicable data protection laws (GDPR in the European Union, CCPA in California, and PIPL in China where relevant). Attraction rows describe places, not people. Review rows contain the nicknames, membership levels and regions that reviewers chose to make public; when you collect reviews, handle these personal data accordingly. The data returned is informational: ticket prices and opening hours change, so verify them before a booking or a regulated use.

Ctrip Scraper by SilentFlow: every Ctrip attraction, its ticket and its reviews, in one table.

⌂ 换网址