Wire it up. See the schema.
- 50 free requests on signup
- 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
Pull hotel search, property details, room availability, advertised low prices, and guest reviews from Ctrip as clean JSON.
curl "https://api.stayapi.com/v1/ctrip/hotels/search" \ -G \ -H "x-api-key: $STAYAPI_KEY" \ -d "city_id=17" \ -d "check_in=2026-08-15" \ -d "check_out=2026-08-16" \ -d "limit=10"
curl "https://api.stayapi.com/v1/ctrip/hotel/details/18078321" \ -G \ -H "x-api-key: $STAYAPI_KEY"
curl "https://api.stayapi.com/v1/ctrip/hotel/rooms/18078321" \ -G \ -H "x-api-key: $STAYAPI_KEY" \ -d "check_in=2026-08-15" \ -d "check_out=2026-08-16" \ -d "adults=2" \ -d "rooms=1"
curl "https://api.stayapi.com/v1/ctrip/hotel/reviews/18078321" \ -G \ -H "x-api-key: $STAYAPI_KEY" \ -d "page=1" \ -d "page_size=10"
{
"success": true,
"city_id": 17,
"check_in": "2026-08-15",
"check_out": "2026-08-16",
"hotels": [
{
"hotel_id": 18078321,
"name": "杭州临平万丽酒店",
"name_en": "Renaissance Hangzhou Northeast Hotel",
"guest_rating": 4.7,
"review_count": 792,
"address": "人民大道607号",
"available": true,
"url": "https://hotels.ctrip.com/hotels/18078321.html"
}
],
"returned": 1,
"total": 10379,
"page": 1,
"prices_included": false
}
{
"success": true,
"hotel_id": 18078321,
"name": "杭州临平万丽酒店",
"name_en": "Renaissance Hangzhou Northeast Hotel",
"star_rating": 5,
"address": "人民大道607号",
"city_id": 17,
"rating": 4.7,
"rating_max": 5,
"review_count": 792,
"room_count": 172,
"check_in": "入住时间: 15:00后",
"check_out": "退房时间: 12:00前",
"main_photo": "https://example.com/hotel.jpg",
"url": "https://hotels.ctrip.com/hotels/18078321.html"
}
{
"success": true,
"hotel_id": 18078321,
"check_in": "2026-08-15",
"check_out": "2026-08-16",
"nights": 1,
"adults": 2,
"children_ages": [],
"rooms_requested": 1,
"currency": "CNY",
"available": true,
"lowest_price": {
"amount": 686,
"currency": "CNY",
"symbol": "¥",
"basis": "advertised_from_price"
},
"room_prices_included": false,
"room_price_limitation": "Individual rate-plan prices require a Ctrip login.",
"room_types": [],
"total_room_types": 0,
"total_rate_plans": 0
}
{
"success": true,
"hotel_id": 18078321,
"data": {
"total_reviews": 792,
"reviews": [
{
"id": 2018492261,
"rating": 5,
"title": "超棒",
"text": "带娃打卡,服务很好,房间很干净。",
"date": "2026-07-12 10:00:00",
"stay_date": "2026-07-10 00:00:00",
"reviewer_name": "Ctrip guest",
"room_type": "豪华大床房",
"travel_type": "家庭亲子",
"images": [],
"owner_response": null
}
]
},
"retrieved_at": "2026-07-29T12:00:00Z"
}
Trusted by hospitality teams at
Ctrip is one of China's main hotel booking platforms, but its public hotel pages and booking flow are built for browsers, not direct data access. Search, property content, room availability, pricing, and guest feedback arrive through several different page and API contracts.
StayAPI turns those contracts into one REST surface. Start with a Ctrip city ID or hotel URL, get a stable hotel_id, then call details, rooms, or reviews with the same identifier. Responses are normalized JSON and errors use RFC 7807 Problem Details.
Search by city_id or resolve a public Ctrip URL, then use the returned hotel_id for property details, room availability, lowest price, and reviews.
The rooms endpoint returns Ctrip's anonymous advertised from-price. Individual rate-plan prices are marked login_required instead of being guessed or silently omitted.
Search, property content, availability, and reviews are fetched from Ctrip at request time through bounded proxy and browser infrastructure.
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 market by Ctrip city ID and store the stable hotel IDs, names, coordinates, ratings, review counts, and canonical URLs.
Keep multilingual names, descriptions, amenities, policies, highlights, and photo URLs current for properties represented on Ctrip.
Check whether a property is available for a stay and track the advertised anonymous from-price without presenting login-only rate plans as public prices.
Pull the newest public first-page review feed into a reputation workflow, including guest stay date, room type, images, and any property response.
Use coordinates, English and Chinese names, address, and stable Ctrip IDs to match Ctrip inventory with the same properties on other channels.
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.
Ctrip provides partner and affiliate products, but it does not offer an open self-serve API for its public hotel search, property content, anonymous room availability, and guest reviews. StayAPI exposes those surfaces through authenticated REST endpoints.
Use /v1/ctrip/hotels/search with a Ctrip city_id, or pass a public desktop or mobile hotel URL to the URL-to-ID endpoint. Both return the numeric hotel_id used by details, rooms, and reviews.
The rooms endpoint returns the hotel-level advertised public from-price and room availability. Ctrip gates individual rate-plan prices behind login, so those values are returned as null with price_visibility: login_required.
Not on the current public contract. Search exposes the first page with up to 13 hotels, and reviews exposes the first page with up to 10 reviews. The endpoint bounds enforce those limits instead of implying unsupported pagination.
You get 50 free requests on signup, no credit card. After that, every Ctrip endpoint uses the same StayAPI request-credit model as the other providers.
Both end with live Ctrip 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