GET /v1/hotels/{hotelId}
Returns static hotel detail (name, stars, address, images, amenities, reviews). Use ?view=detail for the richer UI projection.
Operation ID: getHotel
Parameters
| Name | In | Type | Required | Constraints | Description |
|---|---|---|---|---|---|
hotelId |
path | integer | yes | 1..9007199254740991 | The hotel’s numeric id (a positive integer), as carried by hotel search results (results[].hotelId) and embedded in a rate id. |
locale |
query | string | no | length 1..35; default "en" |
Response language tag (e.g. en, ar). Defaults to en. |
view |
query | default | detail |
no | default "default" |
Response projection. default: the agent hotel detail. detail: the richer UI projection (categorized images, review highlights, badges). Defaults to default. |
Responses
| Status | Description |
|---|---|
200 |
Hotel detail (agent default) or the detail projection. |
400 |
Invalid request parameters. |
401 |
Missing or invalid bearer token. |
404 |
Unknown hotel. |
429 |
Rate limit exceeded; retry after the Retry-After seconds. |
502 |
The upstream hotels service returned an invalid response. |
503 |
The hotels service is unavailable (upstream_unavailable) or rate-limited upstream (upstream_rate_limited); retry after the Retry-After seconds. |
200 body
| Field | Type | Always present | Description |
|---|---|---|---|
hotelId |
number | yes | The hotel’s numeric id. |
name |
string | yes | Hotel display name. |
pageUrl |
string | yes | The hotel’s page on wego.com. It is not tied to a search, so it keeps working after this search expires. Give it to a traveller who wants to look at the hotel, and use it in anything that is saved or sent on. It opens with no dates set. |
star |
number | no | Star rating (1-5), when classified. |
review |
object | no | Aggregate guest review score and count. |
↳ score |
number | yes | Aggregate guest review score (0-10). |
↳ count |
number | yes | Number of guest reviews behind the score. |
location |
object | yes | Where the hotel is: coordinates and place names. |
↳ lat |
number | no | Latitude in decimal degrees. |
↳ lng |
number | no | Longitude in decimal degrees. |
↳ address |
string | no | Street address, when available. |
↳ cityName |
string | no | City name. |
↳ districtName |
string | no | District or neighbourhood name. |
↳ countryName |
string | no | Country name. |
propertyType |
string | no | Property type, e.g. Hotel, Apartment. |
brandName |
string | no | Brand name, when the hotel belongs to one. |
chainName |
string | no | Parent chain name, when known. |
description |
string | no | Editorial description of the hotel. |
amenities |
string[] | no | Hotel-level amenity names. |
images |
string[] | no | Hotel image URLs. |
distanceToCityCentre |
number | no | Kilometres from the city’s place-record coordinate (the point GET /v1/places reports for the city). Where a city record covers an island, a city-state or a whole administrative area, that point can sit far from the commercial centre. For a specific landmark, compute distance from location.lat/lng. Present when upstream reports it. |
distanceToNearestAirport |
number | no | Distance to the nearest airport, as the upstream reports it (unit not normalized here). Absent when upstream omits it. |
categorizedImages |
object[] | no | view=detail only – hotel images grouped by category (e.g. Rooms, Pool). Absent when the content service supplies none. |
↳ category |
string | yes | Image category name, e.g. Rooms, Pool. |
↳ images |
object[] | yes | Images in this category. |
reviewHighlights |
object[] | no | view=detail only – short editorial review snippets with a sentiment tag. Absent when none are published. |
↳ sentiment |
string | no | Sentiment tag for the snippet, e.g. positive, negative. |
↳ text |
string | yes | The review snippet text. |
highlights |
object[] | no | Editorial badges from the hotel content service. |
↳ text |
string | yes | Badge label. |
↳ subtext |
string | no | Badge supporting text, when present. |
Example
curl -s -H "Authorization: Bearer $TOKEN" \
"https://api.wego.com/v1/hotels/$HOTEL_ID"