Skip to content
This page is available in Markdown format. Markdown is recommended for AI consumption. See /api/flights/create-flight-search/index.md for this page, or/llms.txt for the full documentation index.

Create a flight search

Creates a metasearch for the given route/dates/passengers and returns its searchId.

View as MarkdownView this page as plain text
Carries onwardsearchId
Settlesasynchronously
Id expiresyes · 404 means search again

POST /v1/flights/searches

Creates a metasearch for the given route/dates/passengers and returns its searchId. Results accrue asynchronously – poll getFlightSearchResults with the returned searchId to read ranked trips.

Operation ID: createFlightSearch

Request body

application/json

Field Type Required Constraints Description
from string yes pattern ^[A-Z]{3}$ Origin airport or city IATA code, e.g. DXB.
to string yes pattern ^[A-Z]{3}$ Destination airport or city IATA code, e.g. LHR.
fromDate string yes pattern ^\d{4}-\d{2}-\d{2}$ Outbound departure date, YYYY-MM-DD. Not in the past, within a year.
toDate string no pattern ^\d{4}-\d{2}-\d{2}$ Return date, YYYY-MM-DD. Omit for a one-way search.
cabin economy | premium_economy | business | first no default "economy" Cabin class requested for all passengers.
adults integer no 1..9; default 1 Adult passengers (1-9). Defaults to 1. Note the hotel search defaults adults to 2, since a room sleeps two.
children integer no 0..8; default 0 Child passengers (0-8). Defaults to 0.
infants integer no 0..8; default 0 Infant passengers (0-8). Must not exceed adults. Defaults to 0.
currency string no pattern ^[A-Z]{3}$; default "USD" Pricing currency as a 3-letter ISO 4217 code. Defaults to USD.
locale string no length 1..35; default "en" Response language tag (e.g. en, ar). Defaults to en.
siteCode string no pattern ^[A-Z]{2}$ Wego market (point of sale) as a 2-letter code, e.g. AE. Optional: if omitted the API defaults to US. A client that knows the user’s market (the wego CLI derives it from the id_token) passes it as an explicit siteCode; the response always reports the siteCode used.

Responses

Status Description
201 Search created.
400 Invalid request body/query/path parameters.
401 Missing or invalid bearer token.
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 (upstream_unavailable) or rate-limited upstream (upstream_rate_limited); retry after the Retry-After seconds.

201 body

Field Type Always present Description
searchId string yes The id of the created search; pass it to the results and trip reads.
siteCode string yes The site code (Wego market) the search was created for.
siteCodeSource explicit | default yes How the API resolved siteCode: explicit (caller-supplied – including a market a client derived and passed) or default (US, no site supplied).

Example

FROM_DATE=$(date -u -v+60d +%F 2>/dev/null || date -u -d '+60 days' +%F)

curl -s -X POST -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"from":"DXB","to":"LHR","fromDate":"'"$FROM_DATE"'"}' \
  "https://api.wego.com/v1/flights/searches"

FORM WG-REF · SEQ 004821The API and the ways in to it are early and may change.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close