Skip to main content
GET
Get a hotel search and its results
Searches are asynchronous: while status is PROCESSING only the search itself comes back, so poll until it is COMPLETED, then read items. A FAILED search has no results. A hotel search expires after its ttl (30 minutes) and then answers 404 SEARCH_NOT_FOUND. Only the organization that created a search can read it. Results come in pages. Sort them with order and orderBy, narrow them with minAmount, maxAmount, starRating, hotelIds, latitude, longitude and radius, then walk the pages with limit and the next cursor each response returns (null on the last page). A filter that takes several values accepts them repeated or comma-separated (?starRating=4&starRating=5 or ?starRating=4,5). Amounts are integers in cents: 98700 is R$ 987,00. Each item is a summary with its cheapest fare. To book one, open it with the hotel search item endpoint for everything a trip needs, and create the trip with the item’s id as searchItemId. To place the hotels on a map, read the same search as map points with the map endpoint. An error the travel provider reports about the request — a filter value it does not accept, say — is returned with its own status, code and message.

Path Parameters

realmId
string<uuid>
required

ID of your realm.

Format: UUID

organizationId
string<uuid>
required

ID of your organization.

Format: UUID

searchId
string
required

ID of the hotel search, as returned when it was created.

Pattern: ^srch_[0-9A-Za-z]{21}$

Query Parameters

order
enum<string>

Sort direction applied to orderBy: ASC lists the cheapest results first, DESC the most expensive first.

Available options:
ASC,
DESC
orderBy
string

Field to sort the results by. Currently only amount is supported.

Minimum string length: 1
next
string

Cursor returned as next by the previous page. Omit for the first page.

Minimum string length: 1
limit
integer

Maximum number of items per page, from 1 to 100.

Required range: 1 <= x <= 100
minAmount
number

Only results costing at least this amount, in the same unit as the amount of the results (cents).

Required range: x >= 0
maxAmount
number

Only results costing at most this amount, in the same unit as the amount of the results (cents).

Required range: x >= 0
starRating
string[]

Only hotels with these star ratings, from 1 to 5.


Example (comma-separated list): ?starRating=4,5

hotelIds
string[]

Only these hotels, by ID (hotelId in the results). A hotel that appears more than once in the search keeps all of its items.


Example (comma-separated list): ?hotelIds=htl_Pd4Mx9TgUa6Rj1WnKc3Sv,htl_Ek8Bn2VqLt5Hy7DwXu1Zo

Pattern: ^htl_[0-9A-Za-z]{21}$
latitude
number

Latitude of the center of a circle to search in, in decimal degrees (-90 to 90). Send it together with longitude and radius.

longitude
number

Longitude of the center of a circle to search in, in decimal degrees (-180 to 180). Send it together with latitude and radius.

radius
integer

Radius of the circle around latitude and longitude, in meters (1 to 100000). Hotels whose position is unknown are never inside it. Send it together with latitude and longitude.

Required range: 1 <= x <= 100000

Response

Successful response

A hotel search with, once it is COMPLETED, one page of its hotels.

id
string
required

ID of the search.

Example:

"srch_V1StGXR8Z5jdHi6BmyT2k"

status
enum<string>
required

PROCESSING while the suppliers answer, then COMPLETED or FAILED. Only COMPLETED carries items.

Available options:
PROCESSING,
FAILED,
COMPLETED
Example:

"COMPLETED"

warning
object | null
required

How the search went across the suppliers. null while it is processing.

createdAt
string<date-time>
required

When the search was created.

Example:

"2026-10-19T15:00:00.000Z"

searchParams
object
required

What the search was made for, as sent.

type
enum<string>
required

Always HOTEL.

Available options:
HOTEL
Example:

"HOTEL"

ttl
number
required

Seconds until the search expires (a hotel search lasts 30 minutes).

Example:

1500

facets
object | null
required

Facets to build filters from (star ratings, price ranges). null until the search completes.

next
string | null

Cursor for the next page. null on the last page. Present only once the search is COMPLETED.

Example:

"eyJwIjoyfQ=="

totalCount
number

Number of results that match the filters, across every page. Present only once the search is COMPLETED.

Example:

1

items
object[]

The hotels of this page, filtered and sorted by the query parameters. Present only once the search is COMPLETED.