Skip to main content
GET
Get an air search grouped by airline and price
Built for a price-first list: a card gathers the flights that share the same airline, the same cheapest fare and the same return options, and lists each distinct outbound and return journey once instead of repeating it for every combination. The traveler picks the airline and fare first and then only picks times. Every outbound of a card combines with every return of it, and two cards can share an airline and a price while offering different times. To get the search item of a chosen combination, read the card’s searchItems, or intersect the searchItemIds of the two journeys chosen. Create a trip with that item’s id as searchItemId and the card’s cheapest fare id as fareId, or open the item for its other fares. It works on air searches only and takes the same pagination, sort and air filters as the search results — order, orderBy, limit, next, minAmount, maxAmount, airline, airlineCode and cabin — except that next and totalCount count cards, not items. A filter that takes several values accepts them repeated (?airline=LA&airline=G3) or comma-separated (?airline=LA,G3). While status is PROCESSING only the search itself comes back: poll until it is COMPLETED. Amounts are integers in cents: 98700 is R$ 987,00. 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 air 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 cards first, DESC the most expensive first.

Available options:
ASC,
DESC
orderBy
string

Field to sort the cards 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 cards per page, from 1 to 100.

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

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

Required range: x >= 0
maxAmount
number

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

Required range: x >= 0
airline
string[]

Only flights sold by these airlines, by name (case-insensitive).


Example (comma-separated list): ?airline=LATAM,Gol

airlineCode
string[]

Only flights sold by these airlines, by IATA code (case-insensitive).


Example (comma-separated list): ?airlineCode=LA,G3

cabin
string[]

Only flights with a fare in these cabins: ECONOMY, PREMIUM_ECONOMY, BUSINESS, FIRST_CLASS or UNDEFINED. A flight is kept when at least one of its fares has a segment in one of them.


Example (comma-separated list): ?cabin=ECONOMY,BUSINESS

Response

Successful response

The results of an air search grouped by airline and price.

id
string
required

ID of the search.

Example:

"srch_V1StGXR8Z5jdHi6BmyT2k"

searchParams
object
required

What the search was made for.

type
enum<string>
required

Always AIR.

Available options:
AIR
Example:

"AIR"

status
enum<string>
required

PROCESSING, COMPLETED or FAILED. Only COMPLETED carries cards.

Available options:
PROCESSING,
FAILED,
COMPLETED
Example:

"COMPLETED"

warning
object | null
required

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

ttl
number
required

Seconds until the search expires.

Example:

640

facets
object | null
required

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

createdAt
string<date-time>
required

When the search was created.

Example:

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

items
object[]

The cards of this page. Present only once the search is COMPLETED.

next
string | null

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

Example:

"eyJwIjoyfQ=="

totalCount
number

Number of cards that match the filters, not of items. Present only once the search is COMPLETED.

Example:

1