Hotel display-price monitoring
Trip.comエンドポイントを使えば、「Hotel display-price monitoring」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
Turn public Trip.com pages into structured hotel data — a city's curated top-hotels list carrying each hotel's display nightly price, star and guest ratings, and location, plus full hotel detail with facilities, policies, images and a rating breakdown. Normalized JSON, credential-free. Nightly prices come from the city listing, not the detail page.
Get Trip.com's curated top-hotels page for a city with display prices, plus full hotel detail, as structured JSON.
エンドポイントファミリー
1
ドキュメント化されたパラメータ
6
サンプル数
2
ライブカタログスナップショット
稼働エンドポイント
2
メソッド
GET
必須パラメータ
5
スキーマ参照
2
{
"platform": "Trip.com",
"endpoint": "tripcom-hotels-search",
"method": "GET",
"path": "/tripcom/hotels/search",
"auth": "apiKey"
}ユースケース
Get Trip.com's curated top-hotels page for a city with display prices, plus full hotel detail, as structured JSON.
Trip.comエンドポイントを使えば、「Hotel display-price monitoring」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
Trip.comエンドポイントを使えば、「Travel-market research」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
Trip.comエンドポイントを使えば、「Hotel metadata enrichment」をドキュメント化された入力とJSONレスポンスによる再現可能なAPIリクエストに変えられます。
マネージド実行
以下の数値はすべて、稼働中のTrip.comエンドポイントカタログから取得しています(エンドポイント2件、ドキュメント化されたリクエストパラメータ6個、公開レスポンススキーマ2件)。DocsとPlaygroundが参照しているカタログと同じものです。
Trip.comのエンドポイントは2件で、すべてHotelsファミリーに属します。
これらのTrip.comエンドポイントには6個のリクエストパラメータがドキュメント化されており、うち5個が必須です。統合コードを書く前に入力仕様をすべて確認できます。
2件のTrip.comエンドポイントのうち2件が実際のサンプルレスポンスを、2件がドキュメント化されたレスポンススキーマを備えています。最初のリクエストの前に実データの形に合わせて実装できます。
Trip.comのエンドポイントは成功時のスキーマに加えてエラーレスポンス(400、404、500、503)もドキュメント化しています。ブロック、レート制限、レコード欠損は空データではなく型付きのエラーとして返ります。
Trip.comのエンドポイントは2個のホスト型MCPツールとして提供されており、エージェントは同じパラメータと同じJSON契約のまま、追加の実装なしに同じルートを呼び出せます。
カバレッジマップ
これらのカードは稼働中のエンドポイントカタログから生成されるため、このページはDocsとPlaygroundが使うAPIサーフェスをそのまま反映します。
/tripcom/hotels/search
エンドポイントカタログ
/tripcom/hotels/searchReturns Trip.com's own top-hotels page for a city: normalized hotel summaries (name, location, star rating, guest rating, review count, image, display price) for the hotels Trip.com features on that city's hotel-list page. Trip.com does not expose a credential-free free-text city search, so callers supply the exact city_slug and city_id pair from a known Trip.com hotel-list URL of the form https://www.trip.com/hotels/{city_slug}-hotels-list-{city_id}/. Credential-free public data sourced from Trip.com's own server-rendered hotel-list page.
レスポンスに関する注記
- Both `city_slug` and `city_id` must be exactly correct — Trip.com's own page 404s on a mismatched slug even when the id is valid, and this endpoint surfaces that as a `404`. - `hotels` is Trip.com's own curated top-hotels page for the city, not a fully paginated search — Trip.com does not expose page/offset parameters credential-free on this page. `count` reports exactly how many hotels this page returned, not a citywide total. - Each hotel's `price` is the list page's display price for the shown stay length (usually one night), not a full rate breakdown. - `hotel_id` in each result is the numeric Trip.com hotel id to pass to the hotel-detail endpoint. Example response: ```json { "code": 200, "msg": "OK", "data": { "city_slug": "bangkok", "city_id": "359", "count": 9, "hotels": [ { "hotel_id": 39371462, "name": "Divalux Resort and Spa Bangkok, Suvarnabhumi Airport-Free Shuttle", "url": "https://www.trip.com/hotels/bang-sao-thong-district-hotel-detail-39371462/divalux-resort-and-spa-bangkok-suvarnabhumi-airport-free-shuttle/", "image_url": "https://ak-d.tripcdn.com/images/0585b12000sq6ih4c6345.jpg", "location": "88 Moo3, Sriwaree Road, Sisa Chokhe Noi, Bang Sao Thong District, Srisa Chorakhe Noi, Bang Sao Thong", "star_rating": 5, "rating_score": 8.7, "review_count": 872, "description": "The hotel has a relaxing wellness atmosphere, and the staff are friendly and provide excellent service.", "price": {"raw": "US$38", "currency": "US$", "amount": 38, "unit": "1 night"} } ], "source_url": "https://www.trip.com/hotels/bangkok-hotels-list-359/" } } ```
MCPツール tripcom_hotels_search
/tripcom/hotels/{id}Returns a normalized Trip.com hotel-detail page: identity (name, local name, star rating, city/province/country), location (address, zone, latitude/longitude, nearby-transport description), guest rating (overall score plus cleanliness/amenities/location/service breakdown), images, description, check-in/check-out and child policy summaries, and popular facilities. Credential-free public data sourced from Trip.com's own server-rendered hotel-detail page. Pricing is not included: Trip.com's detail page only returns per-night rates alongside check-in/check-out dates, which this endpoint does not take as input -- use the search endpoint for a city's current display prices.
レスポンスに関する注記
- `id` must be numeric; a non-numeric value returns `400` before any upstream request is made. - Trip.com's own detail route always returns HTTP `200`, even for a nonexistent hotel id — this endpoint detects Trip.com's own not-found page content and returns `404` instead of an empty `200`. - Pricing is intentionally not included: Trip.com's detail page only returns per-night rates alongside check-in/check-out dates and occupancy, which this endpoint does not take as input. Use the search endpoint for a city's current display prices. - `images` is a list of image URLs from the hotel's photo gallery; `image_count` reports the gallery's full photo count, which may be larger than `images`. - `policy.check_in_out` and `policy.child` are short human-readable lines taken directly from Trip.com's own display text, not a structured rule schema. Example response: ```json { "code": 200, "msg": "OK", "data": { "hotel_id": 39371462, "name": "Divalux Resort and Spa Bangkok, Suvarnabhumi Airport-Free Shuttle", "star_rating": 5, "city_name": "Bang Sao Thong", "province_name": "Samut Prakan Province", "country_name": "Thailand", "open_year": "2019", "highlights": ["Free airport transfers", "Great views"], "location": { "address": "88 Moo3, Sriwaree Road, Sisa Chokhe Noi, Bang Sao Thong District, Samut Prakan Province, 10570, Thailand", "zone_name": "Suvarnabhumi Airport", "latitude": 13.69316, "longitude": 100.793475, "traffic_description": "15 km from Pra Chom Klao, approx. 27 mins by car" }, "rating": { "score": 8.6, "score_description": "Very good", "score_max": 10, "total_comment": 875, "recommend": "79% Recommended", "cleanliness_score": 8.7, "amenities_score": 8.8, "location_score": 8.3, "service_score": 8.7 }, "images": ["https://ak-d.tripcdn.com/images/0585b12000sq6ih4c6345_R_960_660_R5_D.jpg"], "image_count": 10, "description": "With a stay at Divalux Resort & Spa Bangkok, Suvarnabhumi Airport in Bang Sao Thong, you'll be 6.1 mi (9.9 km) from Lakewood Golf And Country Club...", "policy": { "check_in_out": ["Check-in: After 14:00", "Check-out: Before 12:00", "Front desk hours: 24/7"], "child": ["Children of all ages are welcome at this property."] }, "popular_facilities": ["Outdoor swimming pool", "Spa", "Massage room"], "source_url": "https://www.trip.com/hotels/bang-sao-thong-district-hotel-detail-39371462/divalux-resort-and-spa-bangkok-suvarnabhumi-airport-free-shuttle/" } } ```
MCPツール tripcom_hotel_detail
関連API
Travel & Hospitality
Build travel and lodging research workflows from structured Airbnb stay, room, availability, and review data.
Travel & Hospitality
Research hotels, restaurants, attractions, and destination pages from TripAdvisor with normalized listing and review endpoints.
Travel & Hospitality
Turn Expedia's Stays, Flights, and Things To Do results into structured JSON — destination search, hotel listings with pricing and reviews, flight offers, and activity search, sourced from the same API the official mobile app uses. Credential-free.
対象企業
Trip.com Group Ltd · TCOM
Trip.comを運営するのはTrip.com Group Ltd(TCOM)です。CrawloraのSECエンドポイントは同じ企業のCIKを受け取るため、提出書類・財務・インサイダー取引・13F保有を上記のTrip.comエンドポイントと同じAPIキーで取得できます。
SEC提出書類・財務API →Trip.comのスクレイピング方法
Crawlora's two Trip.com endpoints return a city's curated top-hotels page and full hotel detail as normalized JSON with one API key — no account or signed session. The important thing to know before you start is that the nightly price lives on the city listing, not on the hotel detail.
/tripcom/hotels/search takes city_slug and city_id, and both are required and must match each other — there is no plain city-name parameter, and passing one returns a 400. Read the pair off a Trip.com city hotel-list URL; paris with 192, london with 338, singapore with 73 and bangkok with 359 all resolve. A mismatched pair 404s even when the id itself is valid.
Each hotel in the response carries hotel_id, name, url, image, location, star_rating, rating_score, review_count and a price object — for example a raw display string of US$67 broken out into currency, amount and a unit of 1 night. This is Trip.com's own headline display rate, not a quote for specific dates.
The response is Trip.com's curated top-hotels page for that city — typically around nine hotels — not a fully paginated search. Trip.com exposes no page or offset parameter credential-free here, so count reports what this page returned rather than a city-wide total. Treat it as a monitored sample, not an inventory sweep.
Pass a hotel_id to /tripcom/hotels/{id} for identity and local name, star rating, city/province/country, location with coordinates and nearby transport, a guest-rating breakdown, images, description, policies and popular facilities. The id must be numeric or you get a 400, and because Trip.com serves HTTP 200 even for a nonexistent hotel, this endpoint detects its not-found page and returns a real 404 instead of an empty success.
FAQ
Call /tripcom/hotels/search with both city_slug and city_id — for example paris and 192 — and each hotel comes back with a price object holding the raw display string, currency, amount and unit. A city name on its own will not work: both parameters are required and must correspond to the same Trip.com city page.
No, and this is the one thing worth knowing before you build against it. Nightly rates only exist on Trip.com's detail page alongside specific check-in and check-out dates, so the endpoint deliberately excludes them and returns hotel metadata instead — facilities, policies, images, coordinates and the guest-rating breakdown. The display price you can collect comes from the city listing endpoint.
Not credential-free. The endpoint returns Trip.com's own curated top-hotels page for the city, around nine hotels, and Trip.com exposes no page or offset parameter on it. The count field reports how many that page returned, not how many hotels exist in the city.
Almost always a city_slug and city_id that do not match. Trip.com's own page 404s on a mismatched slug even when the id is valid, and the endpoint surfaces that rather than guessing. On the detail endpoint, a 404 means the hotel genuinely does not exist — Trip.com returns a 200 with a not-found page there, which this endpoint detects and converts into a real 404.
Collecting publicly accessible hotel data is generally permissible if you respect Trip.com's terms of use, robots directives, rate limits, and applicable law. This is for public data you are authorized to collect.