---
title: "Search hotels for a resolved place"
method: POST
path: "/v1/hotels/search"
tags: ["hotels"]
---

# Search hotels for a resolved place

`POST /v1/hotels/search`

## Request

- Base URL: `https://api.getmyhotels.com`
- URL: `https://api.getmyhotels.com/v1/hotels/search`
- Auth: none declared

Runs `hotel.searchByPlace`. The client resolves the destination to a placeId + coordinates first (same contract as the web autosuggest flow). Response fields the native client decodes: `hotels[]` (each with `ref`, `name`, `starRating`, `userRating?`, `reviewCount?`, `address`, `city`, `country`, `latitude` and `longitude` (always numbers, for the map), `distanceKm?`, `images`, `amenities`, and `rooms` holding at most the cheapest `{ price, currency, available, cancellationPolicy, mealPlan? }`, a stay total); `total`, `page`, `limit`; `priceStats` and `filteredPriceStats` (null or `{ min, max, currency, buckets[] }`, the stay-total distribution before and after the price filter); `guestScoreCounts` `{ scored, min7, min8, min9 }`; `relaxed` (null, or `{ field }` with `field` one of `guestScore`, `stars`, `price`, `amenities`, naming the one filter dropped because nothing matched them all — only when `relaxFilters` is sent); `amenityFilter` (null, or `{ requested, probed, matched, unchecked }`, where `unchecked` hotels had no amenity data and were left out); `radiusExpanded` (null or `{ requestedKm, nearestKm }`); the effective `checkIn`/`checkOut`/`rooms`/`adults`/`children`; and `diagnostics`/`health`.

## Request body

- object
  - `placeId` string, required
  - `destination` string
  - `lat` number, required
  - `lng` number, required
  - `checkIn` string, date, required
  - `checkOut` string, date, required
  - `rooms` integer
  - `adults` integer
  - `children` integer
  - `childrenAges` integer[]
  - `guestNationality` string
  - `page` integer
  - `limit` integer
  - `hotelName` string
  - `minStars` integer
  - `minPrice` number
  - `maxPrice` number
  - `priceCurrency` 'USD' | 'GBP' | 'EUR' | 'INR'
  - `minGuestScore` number
  - `relaxFilters` boolean
  - `propertyType` string
  - `sortBy` 'best' | 'price' | 'rating' | 'distance'
  - `sortOrder` 'asc' | 'desc'
  - `currency` 'USD' | 'GBP' | 'EUR' | 'INR'
  - `maxDistanceKm` number
  - `supplierCodes` string[]
  - `previewOnly` boolean
  - `amenities` string[]
  - `preferPlaceCity` boolean
  - `seenHotels` string[]

## Response `200`

Success

- unknown

## Other responses

- `400`: Request validation failed or the router rejected the input
- `426`: Reported X-GMH-App-Version is below the supported minimum — the app must update
- `500`: Unexpected server error (opaque; details stay in logs)

---

[API](https://skmtc.dev/getmyhotels/apis/getmyhotels-rest-api.md) · [All operations](https://skmtc.dev/getmyhotels/apis/getmyhotels-rest-api/llms.txt) · [OpenAPI document](https://skmtc.dev/getmyhotels/apis/getmyhotels-rest-api/revisions/cba24a9c13f0?raw)
