---
title: "Read ranked flight results"
description: "Current snapshot of ranked trips (default 10, max 50 per page; out-of-range rejected 400), filters + sort applied."
---

> Documentation Index
> Fetch the complete documentation index at: https://docs.wego.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Read ranked flight results

`GET /v1/flights/searches/{searchId}/results`

Current snapshot of ranked trips (default 10, max 50 per page; out-of-range rejected 400), filters + sort applied. No completion flag: re-read (300ms→3s) until snapshotFareCount holds steady across two reads AND snapshotTripCount > 0. Each fare has a kind + handoff URL. ?view=card for lean cards.

Operation ID: `getFlightSearchResults`

## Parameters

| Name | In | Type | Required | Description |
|---|---|---|---|---|
| `searchId` | path | string | yes |  |
| `page` | query | integer | no | Page number, 1-based (max 100). |
| `pageSize` | query | integer | no | Results per page (default 10, max 50); out-of-range values are rejected with 400, never clamped. |
| `sort` | query | `score_desc` \| `price_asc` \| `duration_asc` \| `leg1_departure_time_asc` \| `leg1_departure_time_desc` \| `leg2_departure_time_asc` \| `leg2_departure_time_desc` | no | Sort mode; score_desc (default) ranks by the metasearch score, the leg1/leg2 modes sort by that leg's local departure time. |
| `airlines` | query | string[] | no | Airline IATA codes, repeat or comma-separate (e.g. ?airlines=SQ,TR). Values are OR'd together; a trip matches if ANY leg (outbound or return) carries any listed airline, not a trip-wide AND. |
| `alliances` | query | string[] | no | Alliance codes, repeat or comma-separate. OR'd together; a trip matches if ANY leg (outbound or return) belongs to any listed alliance. |
| `stops` | query | integer[] | no | Stop counts, repeat or comma-separate (e.g. ?stops=0,1). OR'd together; matched against the trip-level stop count (the MAX across legs, i.e. the value the response's stops field exposes), not a per-leg check, so a mixed-stop round trip (e.g. a direct outbound + a 1-stop return) is kept under ?stops=1. |
| `min-price` | query | number | no | Minimum cheapest-fare total price (inclusive), in the response currency. |
| `max-price` | query | number | no | Maximum cheapest-fare total price (inclusive), in the response currency. |
| `max-duration` | query | integer | no | Maximum total trip duration in minutes (inclusive). |
| `outbound-departure-blocks` | query | string[] | no | Coarse local-time buckets for the OUTBOUND leg's departure ONLY (never the return leg): midnight 00:00-05:59, morning 06:00-11:59, afternoon 12:00-17:59, night 18:00-23:59, local to the departure airport. Repeat or comma-separate; OR'd together. |
| `outbound-departure-range` | query | - | no | Minute-of-day window `min-max` (each 0-1439, local to the departure airport) for the OUTBOUND leg's departure ONLY (never the return leg). When min > max the window wraps past midnight, e.g. 1320-360 means 22:00-06:00. |
| `booking-types` | query | string[] | no | Booking types, repeat or comma-separate. OR'd together across the trip's fares, a trip matches if ANY of its fares has a listed kind (partner fares never match either value). |
| `booking-sites` | query | string[] | no | Provider codes, repeat or comma-separate. OR'd together across the trip's fares, a trip matches if ANY of its fares comes from a listed provider. |
| `stopover-airports` | query | string[] | no | Stopover airport IATA codes, repeat or comma-separate. OR'd together; a trip matches if ANY leg (outbound or return) stops over at any listed airport. |
| `currency` | query | string | no |  |
| `locale` | query | string | no |  |
| `view` | query | `default` \| `card` | no | Response projection. default = the agent trip shape (fares[] + legs; legs now carry airlinesDetail display names + per-flight segments). card = the lean UI results-list projection (cheapest-price summary + per-leg airline/aircraft/stopover, no fares[]). |

## Responses

| Status | Description |
|---|---|
| `200` | The current ranked-trip snapshot (agent default) or, with ?view=card, the lean list-card projection. |
| `400` | Invalid request body/query/path parameters. |
| `401` | Missing or invalid bearer token. |
| `404` | Unknown or expired search. |
| `429` | Rate limit exceeded; retry after the `Retry-After` seconds. |
| `502` | The upstream flights service returned an invalid response. |
| `503` | The flights service is temporarily unavailable; retry after the `Retry-After` seconds. |

## Example

```bash
curl -s -H "Authorization: Bearer $TOKEN" \
  "https://api.wego.com/v1/flights/searches/$SEARCH_ID/results"
```

Source: https://docs.wego.com/api/flights/get-flight-search-results/index.mdx
