TripAdvisor API endpoint
Searches TripAdvisor hotels in the area given by the required `geo_id`. Filter with `class`, `amenities`, `price_min`, `price_max`, `pricing_mode`, `travelers_choice` and `currency`; page with `offset` and `limit`; order with `sort`. Each hotel has its title, URL, image, rating, review count, star rating, rank, price, provider, location and a review snippet when TripAdvisor supplies them.
/tripadvisor/hotelsMCP tool: tripadvisor_hotels
Query parameters: geo_id is required. Optional filters include filter_id, class, repeated amenities, price_min, price_max, pricing_mode, travelers_choice, travelers_choice_botb, currency, offset, limit, and sort.
| Field | Filled in, of 3 checked | Values in the sample |
|---|---|---|
| id | 3 | |
| title | 3 | “Rambler Oasis Hotel” and 2 other values |
| type | 3 | “hotel” |
| url | 3 | tripadvisor.com |
| image | 3 | dynamic-media-cdn.tripadvisor.com |
| rating | 3 | 3.1 to 4.5, median 4.4 |
| review_count | 3 | 181 to 2,294, median 520 |
| star_rating | 3 | 3 to 4, median 4 |
| rank | 3 | 78 to 409, median 130 |
| rank_label | 3 | “#311 of 628 hotels in Hong Kong” and 2 other values |
| provider | 3 | “Booking.com” |
| currency | 3 | “HKD” |
| address | 3 | |
| phone | 3 | |
| parent | 3 | “Hong Kong” |
| latitude | 3 | |
| longitude | 3 | |
| review_snippet | 3 | median 208 characters |
| review_title | 1 | “Affordable and Convenient Stay for Our Family” |
| review_rating | 1 | 4 |
| tags | 1 | median 1 entry |
| Parameter | Type | Required | Default | Description | Example |
|---|---|---|---|---|---|
| geo_id | integer | Yes | TripAdvisor geo id | 294217 | |
| filter_id | string | No | Optional filter id such as class or ufe | ufe | |
| class | integer | No | Hotel class filter | 5 | |
| amenities | array<integer> | No | Amenity filter ids Repeat this query parameter for multiple values. | ||
| price_min | integer | No | Minimum price filter | 1000 | |
| price_max | integer | No | Maximum price filter | 3205 | |
| pricing_mode | string | No | Pricing mode | ALL_IN_RATE | |
| travelers_choice | boolean | No | Filter Travelers' Choice properties | ||
| travelers_choice_botb | boolean | No | Filter Best of the Best properties | ||
| currency | string | No | Currency code | HKD | |
| offset | integer | No | Zero-based result offset | 0 | |
| limit | integer | No | Maximum results | 3 | |
| sort | string | No | Sort value | BEST_VALUE | |
| x-api-key (header) | string | Yes | API key required |
curl -X GET "https://api.crawlora.net/api/v1/tripadvisor/hotels?geo_id=294217&travelers_choice=true&travelers_choice_botb=true&limit=10" \ -H "x-api-key: $CRAWLORA_API_KEY"
{
"code": 200,
"msg": "OK",
"data": {
"geo_id": 294217,
"currency": "HKD",
"offset": 0,
"limit": 3,
"sort": "BEST_VALUE",
"total": 519,
"full_matches": 519,
"results": [
{
"id": "113311",
"title": "The Peninsula New York",
"type": "hotel",
"url": "https://www.tripadvisor.com/Hotel_Review-g60763-d113311-Reviews-The_Peninsula_New_York-New_York_City_New_York.html",
"image": "https://dynamic-media-cdn.tripadvisor.com/media/photo.jpg",
"rating": 4.5,
"review_count": 1517,
"star_rating": 5,
"rank": 146,
"rank_label": "#141 of 519 hotels in New York City",
"price": "HK$7,793",
"provider": "Agoda",
"currency": "HKD",
"parent": "New York City"
}
]
}
}Request schema
No body schema
Response schema
#/definitions/tripadvisor.tripadvisorHotelsResponseDoc
| Field | Type | Required | Enum | Bounds | Example | Description |
|---|---|---|---|---|---|---|
| code | integer | No | 200 | |||
| data | tripadvisor.HotelListResponse | No | ||||
| data.currency | string | No | HKD | Currency code the prices are shown in, for example `HKD`. | ||
| data.full_matches | integer | No | 519 | Number of hotels TripAdvisor counts as full matches for the filters. Omitted when TripAdvisor gives no count. | ||
| data.geo_id | integer | No | 294217 | TripAdvisor geo id of the location the hotels are listed for. | ||
| data.limit | integer | No | 30 | Maximum number of hotels returned on this page. | ||
| data.offset | integer | No | 0 | Result offset of this page. | ||
| data.results | array | No | Hotels on this page, one entry per hotel. | |||
| data.results[].address | string | No | Street address of the hotel. | |||
| data.results[].currency | string | No | HKD | Currency code of the listed price, for example `HKD`. | ||
| data.results[].id | string | No | 113311 | TripAdvisor location id of the hotel. Use it with the place and reviews endpoints. | ||
| data.results[].image | string | No | URL of the hotel's main image. | |||
| data.results[].latitude | number | No | 40.76174 | Latitude of the hotel in decimal degrees. | ||
| data.results[].longitude | number | No | -73.975365 | Longitude of the hotel in decimal degrees. | ||
| data.results[].parent | string | No | New York City | Name of the city or area the hotel is in. | ||
| data.results[].phone | string | No | Phone number of the hotel. | |||
| data.results[].price | string | No | HK$7,793 | Price shown on the listing, formatted with the currency symbol, for example `HK$7,793`. | ||
| data.results[].provider | string | No | Agoda | Booking site that offers the listed price, for example `Agoda`. | ||
| data.results[].rank | integer | No | 146 | Hotel's position in TripAdvisor's ranking for the location. | ||
| data.results[].rank_label | string | No | #141 of 519 hotels in New York City | Ranking text as TripAdvisor shows it, for example `#141 of 519 hotels in New York City`. | ||
| data.results[].rating | number | No | 4.5 | Average traveller rating out of 5. | ||
| data.results[].review_count | integer | No | 1517 | Number of traveller reviews the hotel has. | ||
| data.results[].review_rating | number | No | Rating given in the review shown on the hotel listing. | |||
| data.results[].review_snippet | string | No | Excerpt of a review shown on the hotel listing. | |||
| data.results[].review_title | string | No | Title of the review shown on the hotel listing. | |||
| data.results[].star_rating | number | No | 5 | Official star class of the hotel, for example `5`. | ||
| data.results[].tags | array | No | Short labels TripAdvisor shows on the hotel listing. | |||
| data.results[].title | string | No | The Peninsula New York | Hotel name as shown on the listing. | ||
| data.results[].type | string | No | hotel | Listing type, for example `hotel`. | ||
| data.results[].url | string | No | TripAdvisor page URL of the hotel. | |||
| data.sort | string | No | BEST_VALUE | Sort order that was applied, for example `BEST_VALUE`. | ||
| data.total | integer | No | 519 | Total number of hotels TripAdvisor lists for the location and filters. Omitted when TripAdvisor gives no total. | ||
| msg | string | No | OK |
| Status | Description | Schema |
|---|---|---|
| 400 | Bad Request | #/definitions/app.Response |
| 429 | Too Many Requests | #/definitions/app.Response |
| 503 | Service Unavailable | #/definitions/app.Response |
Use environment variables for secrets and keep Crawlora API keys server-side.
curl -X GET "https://api.crawlora.net/api/v1/tripadvisor/hotels?geo_id=294217&travelers_choice=true&travelers_choice_botb=true&limit=10" \
-H "x-api-key: $CRAWLORA_API_KEY"